Sensor fusion algorithms for a handheld controller that includes a force sensing resistor (FSR)

ABSTRACT

Logic of a handheld controller can implement sensor fusion algorithms based on force data provided by a force sensing resistor (FSR) in combination with touch data or proximity data provided by a touch sensor or an array of proximity sensors, respectively. An example sensor fusion algorithm can be used to re-calibrate the FSR when an object contacts an associated control, as detected by the touch sensor. Another example sensor fusion algorithm can be used to ignore spurious inputs detected by the FSR when an object is in contact with an adjacent control. Another example sensor fusion algorithm can be used to detect a hand size of a hand grasping a handle of the controller, as detected by the array of proximity sensors, and to adjust the threshold force to register a FSR input event at the FSR according to the hand size.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 120 as acontinuation-in-part to pending U.S. patent application Ser. No.15/834,372 filed on 7 Dec. 2017, entitled “ELECTRONIC CONTROLLER WITHFINGER SENSING AND AN ADJUSTABLE HAND RETAINER,” which itself claimspriority as a continuation-in-part to U.S. patent application Ser. No.15/679,521 filed on 17 Aug. 2017, entitled “ELECTRONIC CONTROLLER WITHHAND RETAINER AND FINGER MOTION SENSING,” which itself claims priorityas a continuation-in-part to U.S. patent application Ser. No. 29/580,635filed 11 Oct. 2016, and claims priority to U.S. Provisional PatentApplication 62/520,958 filed 16 Jun. 2017.

BACKGROUND OF THE DISCLOSURE

The video game industry has become large and important, and has spawnedmany innovations in both software and related hardware. Varioushand-held video game controllers have been designed, manufactured, andsold, for a variety of game applications. Some of those innovations haveapplicability outside of the video game industry, such as forcontrollers of industrial machines, defense systems, robotics, etc.Virtual reality (VR) systems are an application of great contemporaryinterest and rapid technical advancement, both within and outside of thevideo game industry. The controllers for VR systems have to performseveral different functions, and meet strict (and sometimes competing)design constraints, often while optimizing certain desiredcharacteristics like ease of use, etc.

One example objective of controllers used in VR systems is to mimicnatural interactions, such as grasping, throwing, squeezing, etc., asmuch as possible. Various types of sensors have been utilized in aneffort to meet this objective, including, among others, the forcesensing resistor (FSR), which uses variable resistance to measure anamount of force applied to the FSR. However, existing controllers withFSRs tend to exhibit fairly crude response curves (e.g., Force vs.Resistance response curves) due to the materials used in theirconstruction, making them useful for little more than a binary (e.g.,on/off) switch. This is undesirable in VR systems. In addition,mylar-based FSRs require a header connector that is large and bulky,which means that the FSR consumes a large footprint, is difficult tominiaturize, and cannot be directly soldered to other components. Yetanother drawback of using mylar in the construction of an FSR is itsinability to tolerate the high temperatures of a reflow oven, whichlimits the ways in which manufacturing costs can be reduced formylar-based FSRs. Instead of using mylar for the bottom substrate, it isalso known to construct a FSR with a printed circuit board (PCB) as thebottom substrate. However, PCB substrates also exhibit crude (andsometimes non-monotonic) response curves, rendering these types of FSRsunsuitable for VR applications. Hence, there is a need in the art for animproved controller design that may improve VR systems and/or betterfacilitate user operation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a controller according to an example embodiment of thepresent disclosure, with a hand retainer in an open position.

FIG. 2 depicts the controller of FIG. 1 in a user's open hand, palm up.

FIG. 3 depicts the controller of FIG. 1 in a user's closed hand.

FIG. 4 depicts the controller of FIG. 1 in a user's hand, palm down.

FIG. 5 depicts a pair of controllers according to an example embodimentof the present disclosure, with hand retainers in an open position.

FIG. 6A depicts a front view of right-hand controller according toanother example embodiment of the present disclosure.

FIG. 6B depicts a back view of the right-hand controller of FIG. 6A.

FIG. 7A depicts a window for an infrared light sensor, according to anembodiment of the present disclosure.

FIG. 7B depicts a window for an infrared light sensor, according toanother embodiment of the present disclosure.

FIG. 8 shows a side view of the right-hand controller of FIG. 6A, withan outer shell that partially wraps the tubular housing of thecontroller's handle being exploded away to reveal instrumentation on itsinner surface.

FIG. 9A depicts a cross section of the right-hand controller of FIG. 6A,with an outer shell that partially wraps the tubular housing of thecontroller's handle being exploded away.

FIG. 9B depicts the cross section of FIG. 9A, except with the outershell installed in its normal operational position.

FIG. 10A depicts a front view of right-hand controller according toanother example embodiment of the present disclosure, with apartially-closed hand retainer.

FIG. 10B depicts a front view the controller of FIG. 10A, except withthe hand retainer fully open.

FIG. 11A depicts a front view of head and handle components of acontroller according to an example embodiment of the present disclosure,including a hand retainer anchor that can move peripherally about thehead.

FIG. 11B depicts the head and handle components of FIG. 11A except witha faceplate removed from the head to expose a lockable collar portionthat may facilitate selective adjustment of the hand retainer anchorperipherally about the head.

FIG. 12A depicts a partially assembled controller according to analternative embodiment of the present disclosure, with a hand retainercomponent removed.

FIG. 12B depicts a closer view of a channel feature of the controller ofFIG. 12A.

FIG. 12C is a cross-sectional view of the channel depicted in FIG. 12B.

FIG. 13A depicts a force sensing resistor (FSR) according to an exampleembodiment of the present disclosure.

FIG. 13B depicts a front view of the FSR of FIG. 13A.

FIG. 13C depicts a cross section of the FSR of FIG. 13B, taken alongSection A-A, the cross section showing the first substrate made ofpolyimide.

FIG. 14 depicts various front views of a FSR at progressive stages in anexample process of constructing the FSR.

FIG. 15 depicts example layers of a FSR, according to another embodimentof the present disclosure. FIG. 15 is not to scale. Rather, FIG. 15 ispresented to illustrate example layers of material, and is not meant torepresent an actual cross-sectional view of the FSR.

FIG. 16 depicts example layers of a FSR, according to another embodimentof the present disclosure. FIG. 16 is not to scale. Rather, FIG. 16 ispresented to illustrate example layers of material, and is not meant torepresent an actual cross-sectional view of the FSR.

FIG. 17 depicts example layers of a FSR, according to another embodimentof the present disclosure. FIG. 17 is not to scale. Rather, FIG. 17 ispresented to illustrate example layers of material, and is not meant torepresent an actual cross-sectional view of the FSR.

FIG. 18A depicts a front view of a FSR, before a folding step to formthe complete FSR, according to another embodiment of the presentdisclosure.

FIG. 18B depicts a front view of the FSR of FIG. 18A, after the foldingstep is performed.

FIG. 18C depicts a cross section of the FSR of FIG. 18A, taken alongSection B-B.

FIG. 18D depicts example layers of the FSR of FIG. 18A. FIG. 18D is notto scale. Rather, FIG. 18D is presented to illustrate example layers ofmaterial, and is not meant to represent an actual cross-sectional viewof the FSR.

FIG. 19 is a flow diagram of an example process for manufacturing a FSR.

FIG. 20 illustrates an example user interface (UI) that may be used toconfigure a FSR-based input mechanism of a controller for an electronicsystem to operate in different pressure modes.

FIG. 21 depicts a Force vs. Time graph illustrating a “Hair Trigger”style of Soft Press for FSR-based input.

FIG. 22 depicts a Force vs. Time graph illustrating a “Hip Fire” styleof Soft Press for FSR-based input.

FIG. 23 depicts the controller of FIG. 1 having various sensors disposedwithin the controller body.

FIG. 24 is a flow diagram of an example process for re-calibrating a FSRof a handheld controller based on touch data provided by a touch sensor.

FIG. 25 is a flow diagram of an example process for ignoring spuriousinput at a FSR of a handheld controller based on touch data provided bya touch sensor for an adjacent control.

FIG. 26 is a flow diagram of an example process for adjusting a FSRinput threshold for a FSR based on a hand size detected by an array ofproximity sensors in the handle of the handheld controller.

FIG. 27 is a flow diagram of an example process for activating anddeactivating a binding for a control of a handheld controller based onFSR input values.

FIG. 28 is a flow diagram of an example process for using a time-delayto determine whether to ignore FSR input for a first of multiplethresholds.

FIG. 29 illustrates example components of a handheld controller, such asthe controller of FIG. 1.

DETAILED DESCRIPTION

Described herein is, among other things, a force sensing resistor (FSR)that is constructed with a first substrate made of polyimide disposedunderneath a second substrate that is resistive and flexible. The firstsubstrate has conductive material (e.g., a plurality of interdigitatedmetal fingers) disposed on its front surface. One or more spacer layersare also interposed between the first substrate and the second substrateso that a center portion of the second substrate is suspended over thefirst substrate. An actuator is disposed on the second substrate toconvey an applied force onto a front surface of the second substrate.When this occurs, the center portion of the second substrate flexesinward toward the first substrate, and some of the resistive material onthe back surface of the second substrate comes into contact with some ofthe conductive material on the front surface of the first substrate. Asthe applied force increases, the surface area of the conductive materialthat is contacted by the resistive material increases. Likewise, as theapplied force decreases, the surface area of the conductive materialthat is contacted by the resistive material decreases. This change insurface area contact under variable applied force causes the FSR to actas a variable resistor whose value is controlled by the applied force.

Due at least partly to the polyimide material used for the firstsubstrate, the disclosed FSR exhibits characteristics that make itdesirable for use in a controller of a VR system, among other possibleend-use applications. For instance, the polyimide substrate allows forselectively soldering the output terminals (or leads) of the FSRdirectly onto a board (e.g., a PCB) without the use of a bulky headerconnector, which allows for a FSR with a smaller footprint, as comparedto mylar-based FSRs that require a large, bulky header connector.Because polyimide is commonly used as a material of choice for flexcircuits, the polyimide substrate of the FSR allows for convenientlyconnecting the FSR to other flex circuits, which may reduce the cost ofmanufacturing the disclosed FSR, as compared to the cost ofmanufacturing conventional FSRs. Polyimide can also withstand hightemperatures, such as those of a reflow oven, opening the door tocost-saving manufacturing processes. In addition, polyimide—when used asthe first substrate of the disclosed FSR—exhibits desirablecharacteristics, such as less hysteresis and higher repeatability, ascompared to conventional FSRs. Overall, the disclosed FSR, having afirst substrate made of polyimide, exhibits a Force vs. Resistanceresponse curve that models a true analog input, making the FSR desirablefor use in a controller of a VR system.

Also disclosed herein is a controller for an electronic system (e.g., aVR system) that includes the disclosed FSR having a first substrate madeof polyimide. The controller may be configured to be held by a hand of auser and may include a controller body. The disclosed FSR can be mountedon a planar surface of a structure within the controller body, such as astructure that is mounted within a handle of the controller body, or astructure that is mounted underneath at least one thumb-operated controlthat is included on a head of the controller body. The FSR, whenimplemented in the controller for the electronic system, is configuredto measure a resistance value that corresponds to an amount of forceapplied to an associated portion of the controller (e.g., a forceapplied to an outer surface of the handle, to at least onethumb-operated control, etc.).

Implementing the FSR in a controller for a VR system allows forexpanding the spectrum of natural interaction beyond its current stateusing conventional controllers. For example, the electronic systemand/or the controller can determine, via the FSR, a force with which auser squeezes the handle of the controller, and/or a force with whichthe user presses a thumb-operated control. Because the disclosed FSRexhibits a desirable response curve, such a controller can translatepresses or squeezes of varying force into a varying digitized numericalvalue that can be used for a video game to control a game mechanic(e.g., to crush a rock, to squeeze a balloon, the toggle throughavailable weapons usable by a game character, etc.). A FSR withdesirable response characteristics can replace conventional mechanicalswitches in order to reduce fatigue of the user and/or to reduceaccidental actuation of the controls. For instance, the FSR can act as aswitch by detecting when an applied force exceeds a threshold. Thisthreshold adjusted dynamically. For example, the threshold can beadjusted to a lower value in order to reduce hand fatigue duringgameplay (e.g., when the user is pressing a control associated with theFSR to shoot a weapon frequently during gameplay). Conversely, thethreshold can be adjusted to a higher value in order to reduce theinstances of accidental control operation, which may be useful in athrilling or exciting game where the user might react to stimuli in thevideo game.

Also disclosed herein is a handheld controller that includes logic toimplement sensor fusion algorithms based on force data provided by a FSRof the controller in combination with touch data or proximity dataprovided by a touch sensor or an array of proximity sensors,respectively. An example sensor fusion algorithm can be used tore-calibrate the FSR when an object contacts control associated with theFSR, as detected by the touch sensor. For instance, the logic maydetermine, based on touch data provided by the touch sensor, that anobject has come into contact with a control on the controller body thatis configured to be pressed. The logic may also determine, based onforce data provided by the FSR at a time at which the object has comeinto contact with the control, a resistance value measured by the FSR,and may correlate the resistance value with a digitized FSR input valueof zero in order to “re-calibrate” the FSR upon detecting a touch at thecontrol.

Another example sensor fusion algorithm can be used to ignore spuriousinputs detected by the FSR when an object is in contact with an adjacentcontrol. For instance, the logic may determine, based on force dataprovided by the FSR, a resistance value measured by the FSR thatcorresponds to a digitized FSR input value which meets or exceeds athreshold value that is to be met in order to register a FSR input eventfor a first control of the handheld controller. The logic may alsodetermine, based on touch data provided by the touch sensor at a time atwhich the FSR resistance value is measured by the FSR, that the objectis in contact with a second control of the handheld controller that isadjacent to the first control, and may refrain from registering the FSRinput event while the object is in contact with the second control.

Another example sensor fusion algorithm can be used to detect a handsize of a hand grasping a handle of the controller, as detected by thearray of proximity sensors, and to adjust the threshold force toregister a FSR input event at the FSR according to the hand size. Thismay be useful for making force-based input easier for users with smallerhands (and harder, but not difficult, for users with larger hands). Forinstance, an array of proximity sensors that are spatially distributedon a handle of the handheld controller can be used to determine a sizeof a hand that is grasping the handle, and the logic may adjust, basedon the size of the hand, a threshold value to an adjusted thresholdvalue that is to be met in order to register a FSR input event for thehandle.

FIGS. 1-4 depict a controller 100 for an electronic system according toan example embodiment of the present disclosure. The controller 100 maybe utilized by an electronic system such as a VR video gaming system, arobot, weapon, or medical device. The controller 100 may include acontroller body 110 having a handle 112, and a hand retainer 120 toretain the controller 100 in the hand of a user (e.g. the user's lefthand). The handle 112 comprises a tubular housing that may optionally besubstantially cylindrical. In this context, a substantially cylindricalshape need not have constant diameter, or a perfectly circularcross-section.

In the embodiment of FIGS. 1-4, the controller body 110 may include ahead (between the handle 112 and a distal end 111), which may optionallyinclude one or more thumb-operated controls 114, 115, 116. For example,a tilting button, or any other button, knob, wheel, joystick, ortrackball may be considered as a thumb-operated control if it may beconveniently manipulated by a user's thumb during normal operation whilethe controller 100 is held in the hand of the user.

The controller 100 preferably includes a tracking member 130 that isfixed to the controller body 110, and optionally includes two noses 132,134, each protruding from a corresponding one of two opposing distalends of the tracking member 130. In the embodiment of FIGS. 1-4, thetracking member 130 is preferably but not necessarily a tracking archaving an arcuate shape. The tracking member 130 includes a plurality oftracking transducers disposed therein, preferably with at least onetracking transducer disposed in each protruding nose 132, 134.Additional tracking transducers may be disposed also in the controllerbody 110, with preferably at least one distal tracking transducerdisposed adjacent the distal end 111.

The foregoing tracking transducers may be tracking sensors that areresponsive to electromagnetic radiation (e.g. infrared light) emitted bythe electronic system, or they may alternatively be tracking beaconsthat emit electromagnetic radiation (e.g. infrared light) that isreceived by the electronic system. For example, the electronic systemmay be a VR gaming system that widely broadcasts, i.e. paints, pulsedinfrared light towards the controller 100, with the plurality oftracking transducers of the tracking member 130 being infrared lightsensors that may receive or be shadowed from the broadcast pulsedinfrared light. The tracking transducers in each nose 132, 134 (e.g. 3sensors in each nose) preferably overhang the user's hand on each distalend of the tracking member 130, and so are better exposed (around theuser's hand) to receive electromagnetic radiation emitted by theelectronic system or to transmit the electromagnetic radiation to theelectronic system, at more angles without an unacceptable amount ofshadowing.

Preferably, the tracking member 130 and the controller body 110 are madeof a substantially rigid material such as hard plastic, and are firmlyfixed together so that they do not appreciably translate or rotaterelative to each other. In this way, the tracking of the translation androtation of the constellation of tracking transducers in space, ispreferably not complicated by motion of the tracking transducersrelative to each other. For example, as shown in FIGS. 1-4, the trackingmember 130 may be fixed to the controller body 110 by being joined tothe controller body 110 at two locations. The hand retainer 120 may beattached to the controller 100 (either the controller body 110 or thetracking member 130) adjacent those two locations, to bias the user'spalm against the outside surface of the handle 112 between the twolocations.

In certain embodiments, the tracking member 130 and the controller body110 may comprise an integral monolithic component having materialcontinuity, rather than being assembled together. For example, thetracking member 130 and the controller body 110 may be molded togetherby a single injection-molding process step, resulting in one integralhard plastic component that comprises both the tracking member 130 andthe controller body 110. Alternatively, the tracking member 130 and thecontroller body 110 may be initially fabricated separately, and thenlater assembled together. Either way, the tracking member 130 may beconsidered as fixed to the controller body 110.

The hand retainer 120 is shown in the open position in FIG. 1. The handretainer 120 may optionally be biased in the open position by a curvedresilient member 122, to facilitate the insertion of the user's lefthand between the hand retainer 120 and the controller body 110 when theuser is grasping for the controller with vision blocked by VR goggles.For example, the curved resilient member 122 may optionally be aflexible metal strip that elastically bends, or may comprise analternative plastic material such as nylon that may bend substantiallyelastically. The curved resilient member 122 may optionally be partiallyor completely internal to or covered by a cushion or fabric material 124(e.g. a neoprene sheath), for the user's comfort. Alternatively, thecushion or fabric material 124 may be disposed on (e.g. adhered to) onlythe side of the curved resilient member 122 that faces the user's hand.

The hand retainer 120 optionally may be adjustable in length, forexample by including a draw cord 126 that is cinched by a spring-biasedchock 128. The draw cord 126 may optionally have an excess length thatmay be used as a lanyard. The sheath 124 optionally may be attached tothe draw cord. In certain embodiments, the curved resilient member 122may be preloaded by the tension of the cinched draw cord 126. In suchembodiments, the tension that the curved resilient member 122 imparts tothe hand retainer 120 (to bias it in the open position) causes the handretainer to automatically open when the draw cord 126 is un-cinched.This disclosure also contemplates alternative conventional ways toadjust the length of a hand retainer 120, such as a cleat, an elasticband (that temporarily stretches when the hand is inserted, so that itapplies elastic tension to press against the back of the hand), a hook &loop strap attachment that allows length adjustment, etc.

The hand retainer 120 may be disposed between the handle 112 and thetracking member 130, and be configured to contact the back of the user'shand. FIG. 2 shows the controller 100 during operation with the user'sleft hand inserted therein but not grasping the controller body 110. InFIG. 2, the hand retainer 120 is closed and tightened over the hand, tophysically bias the user's palm against the outside surface of thehandle 112. In that way, the hand retainer 120, when closed, may retainthe controller 100 to the hand even when the hand is not grasping thecontroller body 110. FIGS. 3 and 4 depict the controller 100 duringoperation when the hand retainer 120 is closed, and the hand is graspingthe controller body 110 and the thumb is operating one or more of thethumb-operated controls (e.g. track pad 116).

The handle 112 of the controller body 110 preferably includes an arrayof proximity sensors that are spatially distributed partially orcompletely around its outer surface. The proximity sensors of the arrayare not necessarily of equal size and do not necessarily have equalspacing between them, although the array may comprise a grid. The arrayof proximity sensors is preferably responsive to the proximity of theuser's fingers to the outside surface of the handle 112. For example,the array of proximity sensors may be a plurality of capacitive sensorsembedded under the outer surface of the handle 112, with that outersurface comprising an electrically insulative material. The capacitancebetween such an array of capacitive sensors and a portion of the user'shand is inversely related to the distance there between. The capacitancemay be sensed by connecting an RC oscillator circuit to an element ofthe capacitance sensor array, and noting that the time constant of thecircuit (and therefore the period and frequency of oscillation) willvary with the capacitance. In this way, the circuit may detect a releaseof a user's fingers from the outer surface of the handle 112.

When the hand retainer 120 (e.g. a hand-retention strap) is closedtightly, it may serve not only to prevent the controller 100 fromfalling out of hand, but also to keep fingers from excessivelytranslating relative to the proximity sensor array of the handle 112, tomore reliably sense finger motion. The electronic system may include analgorithm embodying anatomically-possible motions of fingers, to betteruse the sensing from the proximity sensor array to render the opening ofa controlled character's hand, finger pointing, or other motions offingers relative to controller or relative to each other. In this way,the user's movement of the controller 100 and/or fingers may helpcontrol a VR gaming system, defense system, medical system, industrialrobot or machine, or another device. In VR system applications (e.g. forgaming, training, etc.), the system may render a throwing motion basedon the movement of the tracking transducers, and may render the releaseof a thrown object based on the sensed release of the user's fingersfrom the outer surface of the handle of the controller.

Hence, the function of the hand retainer 120 (to allow the user to “letgo” of the controller 100 without the controller 100 actually separatingfrom the hand or being thrown or dropped to the floor) may enableadditional functionality of the controlled electronic system. Forexample, if the release and restoration of the user's grasp of thehandle 112 of the controller body 110 is sensed, then such release orgrasping may be incorporated into the game to display (e.g. in VR)throwing or grasping objects. The hand retainer 120 may allow such afunction to be accomplished repeatedly and safely. For example, thelocation of the hand retainer 120 in the embodiment of FIGS. 1-4 mayhelp the tracking member 130 to protect back of user's hand from impactsin real world, for example when the user moves in response to a promptsensed in the VR environment (e.g. while practically blinded by VRgoggles).

In certain embodiments, the controller 100 may include a rechargeablebattery disposed within the controller body 110, and the hand retainer120 (e.g. hand retention strap) may include an electrically-conductivecharging wire that is electrically coupled to the rechargeable battery.The controller 100 preferably also includes a radio frequency (RF)transmitter for communication with the rest of the electronic system.Such RF transmitter may be powered by the rechargeable battery and maybe responsive to the thumb-operated controls 114, 115, 116, theproximity sensors in the handle 112 of the controller body 110, and/ortracking sensors in the tracking member 130.

As shown in FIG. 5, in certain embodiments the controller 100 may be theleft controller in a pair of controllers that includes a similar rightcontroller 200. In certain embodiments, the controllers 100 and 200 may(together) track the motion and grip of both of a user's hands,simultaneously, for example to enhance a VR experience.

FIG. 6A depicts a front view of right-hand controller 600 according toanother example embodiment of the present disclosure. FIG. 6B depicts aback view of the right-hand controller 600. The controller 600 has acontroller body comprising a head 610 and a handle 612. In theembodiment of FIGS. 6A-6B, the head 610 includes at least onethumb-operated control A, B, 608, and may also include a controlconfigured to be operated by the index finger (e.g. trigger 609). Thehandle 612 comprises a tubular housing that is partially wrapped by anouter shell 640.

In the embodiment of FIGS. 6A-6B, a tracking member 630 is fixed to thecontroller body at the head 610 and at an end of the handle 612. A handretainer 620 is configured to physically bias the user's palm againstthe outer shell 640 between the head 610 and the end of the handle 612.The hand retainer 620 is preferably disposed between the handle 612 andthe tracking member 630, and may comprise a hand retention strap that isadjustable in length and configured to contact the back of the user'shand. In the embodiment of FIGS. 6A-6B, the hand retainer 620 optionallyincludes a draw cord 628, and optionally can be adjusted in length by acord lock 626 (adjacent a distal end of the handle 612) that selectivelyprevents sliding motion by the draw cord 628 at the location of the cordlock 626.

In the embodiment of FIGS. 6A-6B, tracking transducers 632, 633 aredisposed on the tracking member 630, with tracking transducers 633 beingdisposed on protruding noses at opposing distal ends of the trackingmember 630. Additional tracking transducers 634 are optionally disposedon a distal region of the head 610. The tracking transducers 632, 633,and 634 may be tracking sensors that are responsive to electromagneticradiation (e.g. infrared light) emitted by the electronic system (e.g.virtual reality gaming system), or may be tracking beacons that emitelectromagnetic radiation (e.g. infrared light) that is received by theelectronic system. For example, the electronic system may be a VR gamingsystem that widely broadcasts, i.e. paints, pulsed infrared lighttowards the controller 600, with the tracking transducers 632, 633, and634 being infrared light sensors that may receive the broadcast pulsedinfrared light. The response of such tracking sensors may becommunicated back to the electronic system, and the system may interpretsuch response to effectively track the location and orientation of thecontroller 600.

One or more of the tracking transducers 632, 633, 634 optionally may bestructured as shown in the embodiment of FIG. 7A, or alternatively shownin the embodiment of FIG. 7B, or alternatively in a conventional waythat is not shown. The lower portion of FIG. 7A depicts an explodedperspective view of an infrared light sensor 750 that is electricallyconnected to a flex circuit 751, shown beneath a rectangular portion ofan overlying windowed housing wall 755 that comprises an infrared-opaqueplastic. The windowed housing wall 755 includes a window 756. The window756 preferably comprises an infrared-transmissive polycarbonate plastic,and may include an underside recession to accommodate the thickness ofthe infrared light sensor 750.

According to the embodiment of FIG. 7A, the windowed housing wall (e.g.the outer structure of the tracking member 630, or the head 610 of FIG.6A) may be fabricated from a so-called “double shot” injection moldingprocess, so that the majority of the housing wall is fabricated frominfrared-opaque plastic, but with infrared-transmissive plastic beingdisposed in the window 756 above the infrared light sensor 750.

The upper portion of FIG. 7A depicts a cross-sectional view of theinfrared light sensor 750, flex circuit 751, and the windowed housingwall 755 as assembled. Infrared light, shown in FIG. 7A as threedownward arrows incident upon the window 756 from above, passes throughthe window 756 to be received by the underlying infrared light sensor750. Since the housing wall 755 comprises infrared-opaque plastic, theinfrared light that strikes it will not pass through, and a portion maybe reflected back into the window to be received by the infrared lightsensor 750. In this way, the window 756 permits infrared light to affectthe infrared light sensor 750, despite the majority of the housing wall755 comprising infrared-opaque plastic, so that the infrared lightsensor 750 receives infrared light only from a preferred angular range.

Alternatively, one or more of the tracking transducers 632, 633, 634optionally may be structured as shown in the embodiment of FIG. 7B. Thelower portion of FIG. 7B depicts an exploded perspective view of theinfrared light sensor 750 as electrically connected to the flex circuit751, shown beneath a rectangular portion of an overlying housing wall758 that comprises an IR-transmissive plastic. The housing wall 758 iscoated with an infrared-opaque film 757 that is patterned to include awindow 759 (where the infrared-opaque film 757 is absent).

The upper portion of FIG. 7B depicts a cross-sectional view of theinfrared light sensor 750, flex circuit 751, the housing wall 758, andthe IR-opaque film 757, as assembled. Infrared light, shown in FIG. 7Bas three downward arrows incident upon the housing wall 758 from above,passes through the window 759 in the infrared-opaque film 757 to passthrough the housing wall 758 there to be received by the underlyinginfrared light sensor 750. Since the housing wall 758 comprisesinfrared-transmissive plastic, the infrared light that strikes it maypass into it and be lost, and perhaps unintentionally and undesirablyeven reach a nearby sensor via internal reflections. In this way, thewindow 759 in the infrared-opaque film 757 permits infrared light toprimarily affect the infrared light sensor 750.

FIG. 8 shows a side view of the right-hand controller 600, with theouter shell 640, which partially wraps the tubular housing of the handle612 being exploded away to reveal instrumentation on its inner surface.In the embodiment of FIG. 8, the instrumentation may comprise an arrayof proximity sensors 800 that are spatially distributed on the innersurface of the outer shell 640, the array of proximity sensors 800 beingresponsive to a proximity of the user's fingers to the outer shell 640.The proximity sensors 800 of the array are not necessarily of equalsize, nor are they necessarily spaced regularly or equally from eachother. In certain embodiments, the array of proximity sensors 800preferably may be a plurality of capacitive sensors that may beconnected to a flex circuit that is bonded to the inner surface of theouter shell 640. In the embodiment of FIG. 8, the outer shell 640includes a first electrical connector portion 805, which may beconnected to a mating second electrical connector portion of the handle612 (as shown in more detail in FIGS. 9A-9B).

FIGS. 9A-B depicts cross sections of the right-hand controller 600 ofFIG. 6A, showing that the controller's handle optionally may comprise atubular housing 612 a, 612 b, that is split longitudinally by a seam 613where the tubular housing portions 612 a and 612 b adjoin. In FIG. 9A,the outer shell 640 is shown exploded away from the rest of the handle.FIG. 9B depicts the cross section of FIG. 9A, except with the outershell 640 installed in its normal operational position. In theembodiment of FIGS. 9A-9B, the first electrical connector portion 805 ofthe outer shell 640 is shown to be mating and connectable to the secondelectrical connector portion 905 of the controller handle.

In the embodiment of FIGS. 9A-9B, the outer shell 640 partially wrapsthe tubular housing 612 a, 612 b in such a way that it preferablyoverlaps the longitudinal seam 613, so that the longitudinal seam 613may be positioned to optimize the process of manufacture rather than toaccommodate the desired circumferential location of the proximity sensorarray 800. In certain embodiments, the outer shell 640 overlaps acircumferential portion C of the tubular housing 612 a, 612 b of thehandle, and the circumferential portion C angularly spans at least 100degrees but not more than 170 degrees of the full circumference of thetubular housing 612 a, 612 b of the handle. Such a circumferentialoverlap may, in certain embodiments, enable the proximity sensor array800 to sense the proximity of a desired portion of the user's fingers orpalm, for example the region of the hand that best indicates grasping.

The tubular housing 612 a, 612 b of the handle need not have a circularcross-section, and that the word “circumference” is used herein whetheror not the tubular housing 612 a, 612 b of the handle has a circularcross-section. Herein, the term “circumference” implies the completeperimeter about the tubular housing 612 a, 612 b of the handle, whichmay be circular if the tubular housing 612 a, 612 b is a right circularhollow cylinder, but which may be a closed shape other than a circle ifthe tubular housing is shaped as a non-circular cylinder or hollowprism.

In the embodiment of FIGS. 9A-9B, a printed circuit board (PCB) 920 maybe mounted within the tubular housing 612 a, 612 b of the handle, withthe second electrical connector portion 905 being electrically coupledto the PCB 920. The PCB 920 optionally includes a force sensing resistor(FSR) 922, and the controller may further comprise a plunger 924 thatconveys a compressive force applied via the outer shell 640 towards theoutside of the tubular housing 612 a, 612 b of the handle inward to theFSR 922. In certain embodiments, the FSR 922, in conjunction with theproximity sensor array 800, may facilitate sensing of both the onset ofgrasping by the user, and the relative strength of such grasping by theuser, which may be facilitate certain gameplay features.

In certain embodiments, the outer shell 640 has a shell thickness(measured radially in FIGS. 9A-9B) that is less than one-third of ahousing wall thickness of the tubular housing portions 612 a or 612 b ofthe handle. In those embodiments, such a thickness inequality mayimprove the sensitivity of the proximity sensor array 800 relative to analternative embodiment where the proximity sensor array 800 is disposedon or in the tubular housing 612 a, 612 b of the handle.

FIG. 10A depicts a front view of right-hand controller 200 according toanother example embodiment of the present disclosure, with apartially-closed hand retainer 220 (e.g. a hand retention strap). FIG.10B depicts a front view the controller 200, except with the handretainer 220 fully open. In the embodiment of FIGS. 10A-10B, thecontroller 200 includes a controller body having a head 210 and a handle212. The head 210 adjoins the handle 212 at a neck region 211 of thecontroller 200. The handle 212 preferably includes an array of proximitysensors that are spatially distributed just under its outside surface,and that are preferably responsive to a proximity of the user's fingersto the outer surface of the handle 212.

In the embodiment of FIGS. 10A-10B, the head 210 includes thumb-operatedcontrols A, B, and 208. The controller 200 also includes a trackingmember 230 that is preferably fixed to the controller body at the head210 and at a distal end of the handle 212. The tracking member 230preferably includes a plurality of tracking transducers that may besensors that are responsive to electromagnetic radiation emitted by theelectronic system (e.g. pulsed infrared light emitted by a virtualreality gaming system), or tracking beacons that emit electromagneticradiation to be received by the electronic system. In the embodiment ofFIGS. 10A-10B, the tracking member 230 is preferably but not necessarilya tracking arc having an arcuate shape. The hand retainer 220 ispreferably disposed between the handle 212 and the tracking arc 230.

In the embodiment of FIGS. 10A-10B, the controller 200 includes a drawcord 228, and a cord lock 226 adjacent a distal end of the handle 212.The cord lock 226 may selectively prevent sliding motion by the drawcord 228 at the cord lock 226. In the embodiment of FIG. 10A, as thedraw cord 228 is pulled progressively further past the cord lock 226,the hand retainer 220 is drawn tighter into a closed position (as shownby the motion arrow depicted in FIG. 10A). The closed positionphysically biases the user's palm against an outer surface of the handle212.

In the embodiment of FIGS. 10A-10B, the hand retainer 220 preferablyincludes a resilient member (e.g. an internal or external elasticallydeformable strip such as a metal strip) that biases the hand retainer220 towards the open position shown in FIG. 10B. In the embodiment ofFIG. 10B, when the user selectively causes the cord lock 226 to releaseand permit relative sliding of the draw cord 228, the preloaded biastowards straightening of the elastically deformed resilient membercauses the hand retainer 220 to naturally open (as shown by the motionarrow depicted in FIG. 10B). The open position may facilitate insertingor withdrawing the user's hand from the controller 200, especially whenthe user's vision may be obstructed by the wearing of virtual realitygoggles.

FIG. 11A depicts a front view of the head 210 and handle 212 componentsof the controller 200, including a hand retainer anchor 302 that can beadjusted to move peripherally about the head 210. FIG. 11B depicts thesame head 210 and handle 212 components, except with a faceplate removedfrom the head 210 to expose a lockable collar portion 311 that mayfacilitate selective adjustment of the hand retainer anchor 302peripherally about the head 210.

In the embodiment of FIG. 11B, the lockable collar portion 311 maytranslate along an arcuate path defined by an internal arcuate guide315. The lockable collar portion 311 can be selectively locked by theuser to prevent further movement of the anchor 302 about the peripheryof the head 210. Now referring to FIGS. 4 and 10A-11B, the resilientmember of the hand retainer 220 is attached to the hand retainer anchor302 of the head 210, which permits the hand retainer 220 to be adjustedtowards or away from the user's purlicue (between the user's thumb andfingers). In certain embodiments, the resilient member of the handretainer 220 is preferably attached to the hand retainer anchor 302 ofthe head 210 by a pivoting or rotatable attachment, so that the handretainer 220 can pivot relative to the hand retainer anchor 302 at thelocation of the attachment. Such degree of freedom is additional to theadjustability of the position of the hand retainer anchor 302 about theperiphery of the head 210.

FIGS. 12A, 12B, and 12C depict an alternative embodiment of a partiallyassembled controller 400 having a controller body that includes a head410 and a handle 412 joined to the head in a neck region 411. In thealternative embodiment of FIGS. 12A-12C, the controller body includes achannel 414 that is disposed adjacent the neck region 411. A handretainer, which is not shown in FIG. 12A so that the channel 414 willnot be partially obscured, includes a resilient member 420 thatterminates in a projection 425 that extends into the channel 414.

In the embodiment of FIGS. 12B and 12C, the projection 425 includes acatch 427 that prevents longitudinal movement of the projection withinthe channel 414 when the hand retainer is in the closed position. Forexample, in the embodiment of FIG. 12C, the catch 427 is a cam thatincreases friction with an interior surface of the channel 414, when arelative angle of the hand retainer projection 425 corresponds to theclosed position of the hand retainer—i.e., when the closed position ofthe hand retainer results in tension upon the resilient member 420 (e.g.in a downward direction as shown in the cross-section of FIG. 12C).

By contrast, when the hand retainer projection 425 is rotated to arelative angle that corresponds to an open position of the hand retainer(e.g. in an upward direction as shown in the cross-section of FIG. 12C),the friction between the catch 427 and the channel 414 is reduced, andthe hand retainer projection 425 may be translated within the channel414 (as indicated by the motion arrows shown in FIG. 12B). The channel414 is preferably oriented so that translation of the hand retainerprojection along the channel 414 preferably adjusts the relativeposition of the hand retainer projection 425 towards or away from thepurlicue of the user's hand, for example so that the controller 400 canaccommodate different hand sizes or finger lengths. In an alternativeembodiment, the hand retainer projection 425 may be pivotably attachedto the remainder of the hand retainer by a conventional pivot joint.Such rotational degree of freedom is additional to the adjustabletranslation of the hand retainer projection 425 along the channel 414.

FIGS. 13A-C depict different views of a force sensing resistor (FSR)1300 according to an example embodiment of the present disclosure. Asshown in the cross section of the FSR 1300 in FIG. 13C, the FSR 1300 mayinclude a first substrate 1302 made of polyimide. The FSR 1300 mayfurther include a second substrate 1304 disposed on (or over) the firstsubstrate 1302. The first substrate 1302 and the second substrate 1304may be considered to be the two primary substrates (or layers) of theFSR 1300, which can be considered a 2-layer FSR 1300, although it is tobe appreciated that the FSR 1300 includes additional layers, as will bedescribed in more detail herein. In this context, the first substrate1302 may be considered a “bottom” or “base” substrate with respect tothe two primary substrates of the FSR 1300, although it is to beappreciated that there may be layers of material behind (or below) thefirst substrate 1302 (i.e., in the negative Z direction, as depicted inFIG. 13C).

The first substrate 1302 has a conductive material disposed on a frontsurface (i.e., the surface facing in the positive Z direction) of thefirst substrate 1302. As will be described in more detail with referenceto FIG. 14, this conductive material may include a plurality ofinterdigitated metal fingers. Meanwhile, the second substrate 1304(sometimes referred to as a resistive “membrane”) has resistive materialdisposed on a back surface (i.e., the surface facing the negative Zdirection) of the second substrate 1304. This resistive material may bea semiconductive material, such as an ink composition (e.g., silver ink,carbon ink, mixtures thereof, etc.), that exhibits some level ofelectrical resistance (e.g., a relatively high sheet resistance within arange of 300 kiloOhm (kOhm) per square (kOhm/sq) to 400 kOhm/sq).Preferably, the sheet resistance of the second substrate 1304 is 350kOhm/sq, although it is to be appreciated that other sheet resistancevalues, including those outside of the sheet resistance ranges specifiedherein, may be used, such as when the FSR 1300 is used in otherapplications, such as non-controller based applications. As such, thesheet resistance range(s) specified herein is to be understood asnon-limiting. In some embodiments, the second substrate 1304 may be madeof mylar, with the resistive material disposed on a back surface of thesecond substrate 1304. In some embodiments, the second substrate 1304 ismade of polyimide having a resistive material (e.g., a conductive inkcomposition) on the back surface. An example benefit of using polyimidefor the second substrate 1304 is to create an FSR 1300 that can be massmanufactured using a reflow oven, whereas mylar could not withstand suchhigh temperatures.

The FSR 1300 may include one or more spacer layers interposed betweenthe first substrate 1302 and the second substrate 1304 so that a centerportion of the second substrate 1304 is suspended over the firstsubstrate 1302 and spaced a distance therefrom. FIG. 13C shows twospacer layers including, without limitation, a coverlay 1306 disposed onthe first substrate 1302 at a periphery of the first substrate 1302, anda layer of adhesive 1308 disposed on the coverlay 1306. The coverlay1306 may be made of polyimide, and may thus be the same material as thefirst substrate 1302. A thickness (as measured in the Z direction) ofthe coverlay 1306 may be within a range of 10 microns to 15 microns. Athickness (as measured in the Z direction) of the layer of adhesive 1308may be within a range of 50 microns to 130 microns. The total distanceat which the second substrate 1304 is spaced from the first substrate1302 may, therefore, be the sum of the thicknesses of the one or morespacer layers (e.g., the thickness of the coverlay 1306 plus thethickness of the layer of adhesive 1308). These layers may be providedat thicknesses that are outside of the thickness ranges specifiedherein, such as when the FSR 1300 is used in other applications, such asnon-controller based applications. As such, these thickness ranges areto be understood as non-limiting.

An actuator 1310 (such as a disk-shaped, compliant plunger) may bedisposed on the second substrate 1304, and is configured to convey aforce, F, onto a front surface of the second substrate 1304. Theactuator 1310 can be made of Poron, which is a compliant material thatdeforms to a degree upon application of a force upon the actuator 1310.The actuator 1310 may be concentric with a center of an active area ofthe FSR 1300 in order to center the applied force, F. The actuator 1310also spans a portion of the active area of the FSR 1300 in order toevenly distribute the applied force, F, across that portion of theactive area of the FSR 1300.

A thickness (as measured in the Z direction) of the second substrate1304 may be within a range of 50 microns to 130 microns. At this examplethickness, the second substrate 1304 is flexible. For example, thesecond substrate 1304 can be made of mylar, which is flexible at athickness within the above-specified range. Functional operation of theFSR 1300 relies on the flexibility of the second substrate 1304 in orderfor the resistive material on the back surface of the second substrate1304 to come into contact with the conductive material on the frontsurface of the first substrate 1302 under a compressive force, F,applied to the actuator 1310. A thickness (as measured in the Zdirection) of the first substrate 1302 may be within a range of 20microns to 30 microns. Polyimide, at this thickness, is also flexible.Thus, the first substrate 1302 is also flexible. Meanwhile, a thickness(as measured in the Z direction) of the actuator 1310 may be within arange of 780 microns to 810 microns. These layers may be provided atthicknesses that are outside of the thickness ranges specified herein,such as when the FSR 1300 is used in other applications, such asnon-controller based applications. As such, these thickness ranges areto be understood as non-limiting.

The FSR 1300 may exhibit varying resistance in response to a variableforce, F, applied to the actuator 1310. For example, as the force, F, onthe actuator 1310 is increased, the resistance is decreased. In thismanner, the FSR 1300 may be treated as a variable resistor whose valueis controlled by the applied force, F. The FSR 1300 can be a “ShuntMode”FSR 1300 or a “ThruMode” FSR 1300, but is preferably a ShuntMode FSR1300. With a ShuntMode FSR 1300, the conductive material disposed on thefront surface of the first substrate 1302 may be in the form of aplurality of interdigitated metal fingers. When the force, F, is appliedto the front (or top) of the actuator 1310, the resistive material onthe back surface of the second substrate 1304 comes into contact withsome of the interdigitated metal fingers, which shunts the metalfingers, thereby varying the resistance across the output terminals ofthe FSR 1300. In a ThruMode implementation, the conductive material onthe first substrate 1302 may be a solid area of conductive material witha semiconductive (or resistive) material disposed on the conductivematerial, and the second substrate 1304 may have a similar construction(e.g., a solid area of conductive material having a semiconductive (orresistive) material disposed thereon). The solid area of conductivematerial on each substrate (1302 and 1304) is coupled to an individualoutput terminal, and excitation current can pass through one layer tothe other when the two substrates (1302 and 1304) come into contactunder an applied force, F.

In at least the preferred ShuntMode implementation, the Force vs.Resistance response curve—where the FSR 1300 resistance is plotted as afunction of applied force, F—exhibits desirable characteristics for usein a controller 100/600 of a VR system. For instance, the response curveof the FSR 1300 may exhibit less hysteresis and higher repeatability(from one FSR 1300 to another FSR 1300), as compared to conventionalFSRs, such as those that use mylar as the material for the bottomsubstrate. Loading hysteresis describes the effect of previously appliedforces on the current FSR 1300 resistance. The response curve is alsomonotonic, and it models a true analog input that can be leveraged for anumber of game mechanics in a VR gaming system, such as to crush avirtual rock, squeeze a virtual balloon, etc. It is to be appreciatedthat although examples herein describe an applied force, F, the FSR 1300is, in actuality, sensitive to applied pressure (force×area) becauseequal amounts of force applied at a small point verses a larger area onfront surface of the second substrate 1304 will result in a differentresistance response of the FSR 1300. Thus, the actuator 1310 plays arole in maintaining repeatability across FSRs 1300 in terms of theresponse curves under applied force, F.

FIG. 14 depicts various front views of the FSR 1300 at progressivestages in an example process of constructing the FSR 1300. At Stage 1 ofFIG. 14, a plurality of interdigitated metal fingers 1400 may be formedon a front surface of the first substrate 1302 of polyimide. The metalfingers 1400 are electrically conductive. An example conductive metalused for the metal fingers 1400 is copper, such as ⅓ oz. HA copper. Thiscopper may also be gold plated. The plurality of interdigitated metalfingers 1400 may be formed using a subtractive manufacturing process.For example, prior to Stage 1, the first substrate 1302 of polyimide maybe formed with a copper clad layer disposed on its front surface, andthe copper clad layer may be etched (e.g., by removing strips of coppermaterial) to create the pattern of interdigitated metal fingers 1400shown in Stage 1 of FIG. 14. The size and spacing of the etched patternmay be chosen to create a distance (as measured in the Y direction)between pairs of adjacent metal fingers 1400 that is 0.2 millimeters(mm), and a width (as measured in the Y direction) of each metal fingerof the plurality of interdigitated metal fingers 1400 that is 0.2 mm.This finger width and spacing between fingers may provide an optimalbalance between maximum sensitivity of the FSR 1300 and a minimizedmanufacturing etch tolerance. Although a uniform pattern of metalfingers 1400 is shown in FIG. 14, it is to be appreciated that othernon-uniform patterns (e.g., denser fingers toward a center, and lessdense fingers toward the outside) may be employed. FIG. 14 shows twosets of interdigitated metal fingers 1400, each leading to an outputterminal 1402 (or lead) of a 2-terminal FSR 1300 having a first outputterminal 1402(1) and a second output terminal 1402(2).

As mentioned, the copper that constitutes the metal fingers 1400 may begold plated. Thus, after etching the pattern of interdigitated metalfingers 1400, a layer of gold plating may be deposited onto the copperfingers to create gold-plated fingers. Thus, the plurality ofinterdigitated metal fingers 1400 shown in Stage 1 of FIG. 14 canrepresent gold-plated fingers. The gold-plating may be electrolessnickel immersion gold (ENIG). Notably, there may be no additional copperplating over the base layer copper prior to gold plating. Additionalcopper plating is commonly applied atop the base layer copper whenadding vias to multi-layer flex substrates. However, adding additionalcopper plating over the base layer copper prior to gold-plating mayactually cause an undesirable increase of detected resistance, ascompared to the disclosed FSR 1300 that does not include any additionalcopper plating over the base layer copper prior to gold plating. Thus,the omission of any additional copper plating on the metal fingers 1400prior to the gold plating achieves optimal sensitivity in the FSR 1300.Thus, the copper clad layer that constitutes the metal fingers 1400remains exposed at the time that the metal fingers 1400 are plated withgold material. In this manner, the gold material is in direct contactwith the base copper material of the metal fingers 1400, without anyadditional copper plating interposed between the base layer copper andthe gold plating.

At Stage 2 of FIG. 14, a coverlay 1306 can be deposited atop the firstsubstrate 1302 at a periphery of the first substrate 1302. For example,the covelay 1306 can be annular in shape to cover a peripheral portionof the metal fingers 1400, and a remaining portion of the metal fingers1400 is left uncovered by the coverlay 1306 after deposition. Thecoverlay 1306 may be made of polyimide.

At Stage 3 of FIG. 14, a layer of adhesive 1308 may be deposited atopthe coverlay 1306 such that the remaining portion of the metal fingers1400 (the portion of the metal fingers 1400 left uncovered by thecoverlay 1306) is also left uncovered by the layer of adhesive 1308. Forexample, the layer of adhesive 1308 can be C-shaped so that the layer ofadhesive 1308 covers a substantial portion of the coverlay 1306, and sothat the layer of adhesive 1308 does not cover an active area of the FSR1300. The “active area” of the FSR 1300 is shown in Stage 3 of FIG. 14as having a diameter, B. Furthermore, the layer of adhesive 1308, beingC-shaped, can leave a section of the coverlay 1306 uncovered by thelayer of adhesive 1308. This uncovered section of the coverlay 1306 isshown in Stage 3 of FIG. 14 as having a width, w. After the secondsubstrate 1304 is placed over the top of the first substrate 1302, thisuncovered section of coverlay 1306 creates an air gap that allows air toingress and/or egress from a space between the first substrate 1302 andthe second substrate 1304, which may prevent sensor-to-sensor responsevariations due to changes in atmospheric pressure. The width, w, of theair gap (i.e., the uncovered section of the coverlay 1306) can be 1 mm,which is small enough to preserve symmetry of the contacted surface areaunder an applied force, and large enough to allow air to ingress/egressthrough the air gap. In some embodiments, the layer of adhesive 1308 maybe 467 adhesive from 3M® Company of Maplewood, Minn. (i.e., 3M 467adhesive). The coverlay 1306 and the layer of adhesive 1308 representexamples of spacer layers that can be provided atop the first substrate1302 in order to space the second substrate 1304 a distance from thefirst substrate 1304 in a suspended fashion. As mentioned, a thickness(as measured in the Z direction) of the coverlay 1306 may be within arange of 10 microns to 15 microns, and a thickness (as measured in the Zdirection) of the layer of adhesive 1308 may be within a range of 50microns to 130 microns. Preferably, the thickness of the layer ofadhesive 1308 is made as thin as possible (e.g., at the lower end of thespecified thickness range) to allow for an initial response (e.g., theFSR 1300 starts detecting an input) under a very light applied force, F.However, these layers may be provided at thicknesses that are outside ofthe thickness ranges specified herein, such as when the FSR 1300 is usedin other applications, such as non-controller based applications. Assuch, these thickness ranges are to be understood as non-limiting.

At Stage 4, a second substrate 1304 can be provided atop the firstsubstrate 1302. In Stage 4, a center portion of the second substrate1304 is suspended over the first substrate 1302 by virtue of the one ormore spacer layers (e.g., the coverlay 1306 and the layer of adhesive1308) interposed between the first substrate 1302 and the secondsubstrate 1304 (See FIG. 13C). Although it is not shown in FIG. 14, theactuator 1310 can be attached to the front surface of the secondsubstrate 1304 in order to complete the construction of the FSR 1300, asshown in FIGS. 13A-C. The size (as measured in the X-Y plane) of theactuator may span 80% of the active area of the FSR 1300 (i.e., 80% ofthe diameter, B, shown in Stage 3 of FIG. 14). For instance, a diskshaped actuator 1310 may have a diameter that is equal to 0.8*B. In someembodiments, the overall diameter of the FSR 1300 may be 14.5 mm. Atthis dimension, the active area may have a diameter, B, of 10.5 mm,meaning that the coverlay 1306 and the layer of adhesive 1308 may bedeposited as a 2 mm ring between the first substrate 1302 and the secondsubstrate 1304. In this embodiment, the actuator 1310 may have adiameter of 8.4 mm (i.e., 0.8*10.5 mm).

The FSR 1300 may be open-circuit under no external force (or load). Insome embodiments, in order to account for any contact of the firstsubstrate 1302 and the second substrate 1304 under zero or negligibleapplied force, a threshold circuit can be used to set a thresholdresistance value at which the first substrate 1302 and the secondsubstrate 1304 are considered to be “in contact,” meaning that the FSR1300 can be open-circuit until the threshold resistance value is met,even if the two primary substrates (i.e., 1302 and 1304) are actually incontact.

FIG. 15 depicts example layers of a FSR 1300, according to anotherembodiment of the present disclosure. FIG. 15 is not to scale. Rather,FIG. 15 is presented to illustrate example layers of material, and isnot meant to represent an actual cross-sectional view of the FSR 1300.As described above with reference to the previous figures, the FSR 1300,as shown in FIG. 15, includes a first substrate 1302 made of polyimide,metal fingers 1400 (i.e., a conductive material) disposed on the frontsurface of the first substrate 1302, and a second substrate 1304disposed on the first substrate 1302, with one or more spacer layersinterposed between the first substrate 1302 and the second substrate1304; in this case, there are multiple spacer layers disposed betweenthe two primary substrates, including the aforementioned coverlay 1306and the layer of adhesive 1308. An actuator 1310 is also disposed on thesecond substrate 1304.

In the embodiment of FIG. 15, the actuator 1310 may be made of Poron,and may have a thickness (as measured in the Z direction) of 794microns. A layer of actuator adhesive 1500 may be used to attach theactuator 1310 to the second substrate 1304. This actuator adhesive 1500can be 70 microns in thickness (as measured in the Z direction). Asuitable adhesive for the actuator adhesive 1500 is FT 8397 adhesivefrom Avery Dennison of Glendale, Calif. In the embodiment of FIG. 15,the thickness (as measured in the Z direction) of the second substrate1304 may be 125 microns. The sheet resistance of the resistive materialon the back surface of the second substrate 1304 may be 350 kOhm/sq. Thelayer of adhesive 1308 may be a peel-off adhesive, such as 3M MP467adhesive. The thickness (as measured in the Z direction) of the layer ofadhesive 1308 may be 50 microns. The coverlay 1306 may be made ofpolyimide, and may have a thickness (as measured in the Z direction) of12.5 microns. A coverlay adhesive 1502 (e.g., polyethylene with adhesiveon either side) may be used to attach the coverlay 1306 to the frontsurface of the first substrate 1302 atop the metal fingers 1400. Thecoverlay adhesive 1502 may have a thickness (as measured in the Zdirection) of 25 microns. The metal fingers 1400 may be made of copper(e.g., gold-plated copper) and may have a thickness (as measured in theZ direction) of 12.5 microns. The first substrate 1302 may have athickness (as measured in the Z direction) of 25 microns.

A pressure sensitive adhesive (PSA) 1504 may be attached to a backsurface of the first substrate 1302. The PSA 1504 may be 3M 467MP, andmay have a thickness of 50 microns. A PSA liner 1506 may be disposedover the PSA 1504, and may be peeled off before attaching the FSR 1300to a planar surface (e.g., to a planar surface of a structure mountedinside of a controller body 110).

At a connector portion of the FSR 1300, a stiffener polyimide 1508 maybe attached to the back surface of the first substrate 1302 using astiffener adhesive 1510. The stiffener polyimide 1508 may have athickness (as measured in the Z direction) of 137.5 microns, and maycreate a stiffer connector portion of the FSR 1300 for added durabilityof the connector portion. The thickness (as measured in the Z direction)of the stiffener adhesive may be 25 microns.

The embodiment of FIG. 15 may represent a FSR 1300 that is suitable formounting on a planar surface of a structure that is mounted within ahandle 112/612 of a controller 100/600 for an electronic system (e.g., aVR system), as disclosed herein. It is to be appreciated that otherthickness values, sheet resistance values, and/or materials than thosespecified with reference to FIG. 15 may be utilized, such as when theFSR 1300 is used in other applications, such as non-controller basedapplications. As such, these values and materials are to be understoodas non-limiting.

FIG. 16 depicts example layers of a FSR 1300, according to anotherembodiment of the present disclosure. FIG. 16 is not to scale. Rather,FIG. 16 is presented to illustrate example layers of material, and isnot meant to represent an actual cross-sectional view of the FSR 1300.The FSR 1300 shown in FIG. 16 with respect to the first substrate 1302and the layers above (i.e., in the positive Z direction) the firstsubstrate 1302 may be have a similar construction to the FSR 1300 shownin FIG. 15. FIG. 16 differs from FIG. 15 in the layers below (i.e., inthe negative Z direction) the first substrate 1302. Thus, for purposesof brevity, the first substrate 1302 and the layers above (i.e., in thepositive Z direction) the first substrate 1302 in FIG. 16 will not bedescribed again, as reference can be made to the description of FIG. 15for these layers in FIG. 16.

In the embodiment of FIG. 16, a stiffener 1600 may be attached to theback surface of the first substrate 1302 underneath the main bodyportion of the FSR 1300 using a stiffener adhesive 1510. The thickness(as measured in the Z direction) of the stiffener adhesive may be 25microns, as is the case in the embodiment of FIG. 15, but the stiffener1600 is located underneath the main body portion of the FSR 1300,whereas the stiffener polyimide 1508 is located underneath a connectorportion of the FSR 1300. Furthermore, the stiffener 1600 may be a FR4stiffener having a thickness (as measured in the Z direction) of 530microns, which is thicker than the stiffener polyimide 1508 of theembodiment of FIG. 15. A pulltab 1602 may be attached to the backsurface of the stiffener 1600 using a layer of adhesive 1604. The layerof adhesive 1604 may be a pulltab adhesive, such as 3M MP467 adhesive.The thickness (as measured in the Z direction) of the layer of adhesive1604 may be 50 microns.

The embodiment of FIG. 16 may represent a FSR 1300 that is suitable formounting on a planar surface of a structure that is mounted underneath athumb-operated control 116 of a controller 100/600 for an electronicsystem (e.g., a VR system), as disclosed herein. It is to be appreciatedthat other thickness values, sheet resistance values, and/or materialsthan those specified with reference to FIG. 16 may be utilized, such aswhen the FSR 1300 is used in other applications, such as non-controllerbased applications. As such, these values and materials are to beunderstood as non-limiting.

FIG. 17 depicts example layers of a FSR 1300, according to anotherembodiment of the present disclosure. FIG. 17 is not to scale. Rather,FIG. 17 is presented to illustrate example layers of material, and isnot meant to represent an actual cross-sectional view of the FSR 1300.Some of the layers of the FSR 1300 shown in FIG. 17 may be have asimilar construction to the FSR 1300 shown in FIG. 15. FIG. 17 differsfrom FIG. 15 several aspects, however.

In the embodiment of FIG. 17, the thickness (as measured in the Zdirection) of the second substrate 1304 may be 127 microns. The layer ofadhesive 1308 may be a peel-off adhesive, such as 3M 468MP adhesive. Fora FSR 1300 that can withstand high temperatures of a reflow oven, thelayer of adhesive 1308 may be a peel-off adhesive, such as 3M 9085, or3M 9082. The thickness (as measured in the Z direction) of the layer ofadhesive 1308 may be 125 microns. In some cases, the thickness of thelayer of adhesive 1308 may be 50 microns. In addition, the metal fingers1400 may be made of RA copper. In addition, a conductive material 1700may be disposed on a back surface of the first substrate 1302. Theconductive material 1700 may be HA copper or RA copper having athickness (as measured in the Z direction) of 12.5 microns. Anadditional coverlay 1702 may be deposited on the conductive material1700. This additional coverlay 1702 may be made of polyimide, and may beattached to the conductive material 1700 using a coverlay adhesive 1704.The thickness (as measured in the Z direction) of the additionalcoverlay 1702 may be 12.5 microns, and a thickness (as measured in the Zdirection) of the coverlay adhesive 1704 may be 25 microns. A layer ofadhesive 1706 may be disposed on the coverlay 1702. The layer ofadhesive 1706 may be a peel-off adhesive, such as 3M 467MP adhesive, ata thickness (as measured in the Z direction) of 60 microns. For a FSR1300 that can withstand high temperatures of a reflow oven, the layer ofadhesive 1706 may be a peel-off adhesive, such as 3M 9085, or 3M 9082.

The embodiment of FIG. 17 may represent a FSR 1300 that is suitable formounting on a planar surface of a structure that is mounted within acontroller body 110 of a non-VR controller. It is to be appreciated thatother thickness values, sheet resistance values, and/or materials thanthose specified with reference to FIG. 17 may be utilized, such as whenthe FSR 1300 is used in other applications, such as non-controller basedapplications. As such, these values and materials are to be understoodas non-limiting.

FIGS. 18A-D depict a FSR 1800, according to another embodiment of thepresent disclosure. The FSR 1800 may have component layers that aresimilar to those described with reference to the FSR 1300, such as afirst substrate 1802 made of polyimide, and a second substrate 1804 thatis flexible and that has a resistive material on its back surface. Oneor more spacer layers (e.g., a coverlay 1806 and a layer of adhesive1808) may be interposed between the first substrate 1802 and the secondsubstrate 1804.

A portion of the first substrate 1802 of the FSR 1800 in FIGS. 18B and18C is wrapped around the second substrate 1804 and is also disposed ona front surface of the second substrate 1804. FIG. 18A is labeled“Before Fold” and depicts the FSR 1800 before the portion of the firstsubstrate 1802 is wrapped around the second substrate 1804. In FIG. 18A,the FSR 1800 includes a first body portion 1812(1) (sometimes referredto as the “lower balloon” 1812(1)) and a second body portion 1812(2)(sometimes referred to as the “upper balloon” 1812(2)). The lowerballoon 1812(1) is connected to the upper balloon 1812(2) by a foldingneck 1814 at a first end of the lower balloon 1812(1). A solderingpigtail 1816 extends from a second end of the lower balloon 1812(1) andsoldering pads 1818 are on the terminal end of the soldering pigtail1816. An actuator 1810 in the form of a tact switch is disposed on theupper balloon 1812(2) such that the actuator 1810 ends up being thefront or top layer of the FSR 1800 after the folding operation, as shownin FIGS. 18B and 18C. Thus, the portion of the first substrate 1802 ofthe FSR 1800 that is wrapped around the second substrate 1804 is theupper balloon 1812(2).

A cross section of the FSR 1800, after the folding operation, is shownin FIG. 18C to depict example layers of the FSR 1800. Some of the layersshown in FIG. 18C are described in more detail with reference to FIG.18D. In this embodiment of FIG. 18C, a force, F, can be applied to theactuator 1810 (e.g., tact switch), causing a variable resistance of theFSR 1800 that is converted into a variable digitized value. The use of atact switch for the actuator 1810 (e.g., a switch that toggled to adifferent binary state under the application of a predefined amount offorce, F) creates a dual-stage FSR 1800 that first “clicks” when thetact switch 1810 is actuated, and then the FSR 1800 can output variableresistance as increased force, F, is applied. This can serve tocalibrate the FSR 1800 on individual actuations of the FSR 1800 byassuming that the tact switch 1810 actuates at a same amount of force,F, each time it is depressed. That is, the FSR 1800 can reset to theknown amount of force, F, associated with actuation of the tact switch1810 in response to detecting an actuation of the tact switch 1810. Thiscan mitigate inherent inaccuracy of the FSR 1800.

As shown in FIGS. 18C and 18D, the FSR 1800 includes a first substrate1802 made of polyimide having a thickness (as measured in the Zdirection) of 25 microns. A conductive material (e.g., the metal fingers1820 made of HA copper (e.g., gold-plated copper) shown in FIG. 18D)having a thickness (as measured in the Z direction) of 12.5 microns maybe disposed on the front surface of the first substrate 1802 at thelower balloon 1812(1) such that the conductive material is underneaththe resistive material on the second substrate 1804. A coverlay adhesive1822 may be used to attach the coverlay 1806 to the front surface of thefirst substrate 1802 atop the metal fingers 1820. The coverlay adhesive1822 may have a thickness (as measured in the Z direction) of 25microns. The coverlay 1806 may be made of polyimide, and may have athickness (as measured in the Z direction) of 12.5 microns. The layer ofadhesive 1808 disposed on the coverlay 1806 may be a peel-off adhesive,such as 3M MP467 adhesive. The thickness (as measured in the Zdirection) of the layer of adhesive 1808 may be 60 microns. Thethickness (as measured in the Z direction) of the second substrate 1804may be 127 microns. The sheet resistance of the resistive material onthe back surface of the second substrate 1804 may be 350 kOhm/sq. Alayer of adhesive 1824 may be used to attach the upper balloon 1812(2)to the lower balloon 1812(1) when the upper balloon 1812(2) is foldedover the lower balloon 1812(1) at the folding neck 1814. The layer ofadhesive 1824 can be 125 microns in thickness (as measured in the Zdirection). A suitable adhesive for the layer of adhesive 1824 is 3M468MP. The layer of adhesive 1824 may also be C-shaped.

On the upper balloon 1812(2) of the FSR 1800, a first stiffenerpolyimide 1834 may be attached to the front surface of the firstsubstrate 1802 (before folding) using a stiffener adhesive 1836. Thefirst stiffener polyimide 1834 may have a thickness (as measured in theZ direction) of 75 microns. The thickness (as measured in the Zdirection) of the stiffener adhesive may be 25 microns. In addition, onthe upper balloon 1812(2) of the FSR 1800, a second stiffener polyimide1838 may be attached to the front surface of the first stiffenerpolyimide 1834 (before folding) using a layer of adhesive 1840. Thesecond stiffener polyimide 1838 may have a thickness (as measured in theZ direction) of 75 microns. The thickness (as measured in the Zdirection) of the layer of adhesive may be 125 microns. When the upperballoon 1812(2) is folded over the lower balloon 1812(1) at the foldingneck 1814, the second stiffener polyimide 1838 comes into contact withthe second substrate 1804, as shown in FIG. 18C, and the layer ofadhesive 1824 adheres the two main body portions 1812(1) and 1812(2) ofthe FSR 1800 in a stacked relationship after the folding operation. Itis to be appreciated that other thickness values, sheet resistancevalues, and/or materials than those specified with reference to FIG. 18Dmay be utilized, such as when the FSR 1800 is used in otherapplications, such as non-controller based applications. As such, thesevalues and materials are to be understood as non-limiting

In addition, as shown in FIG. 18D, a conductive material 1826 may bedisposed on a back surface of the first substrate 1802. The conductivematerial 1826 may be HA copper having a thickness (as measured in the Zdirection) of 12.5 microns. An additional coverlay 1828 may be depositedon the conductive material 1826. This additional coverlay 1828 may bemade of polyimide, and may be attached to the conductive material 1826using a coverlay adhesive 1830. The thickness (as measured in the Zdirection) of the additional coverlay 1828 may be 12.5 microns, and athickness (as measured in the Z direction) of the coverlay adhesive 1830may be 25 microns. The additional coverlay 1828 and the coverlayadhesive 1830 may span the soldering pigtail 1816, the lower balloon1812(1), the folding neck 1814, and a portion of the upper balloon1812(2), leaving a footprint (or space) for the actuator 1810 (“ButtonFootprint” in FIG. 18D). A layer of adhesive 1832 may be disposed on theadditional coverlay 1828. The layer of adhesive 1832 may be a peel-offadhesive, such as 3M 468MP adhesive, at a thickness (as measured in theZ direction) of 125 microns. The layer of adhesive 1832 may span thesoldering pigtail 1816 and the lower balloon 1812(1).

Although the example FSR 1300/1800 is shown as having a generallycircular shape, it is to be appreciated that the FSR 1300/1800 can beconstructed in layers of different cross-sectional shapes, such assquare, rectangular, etc. The FSR 1300/1800 can be larger or smaller inoverall size than the examples described herein, depending on theparticular application. Furthermore, it is to be appreciated that arraysof FSRs can be implemented by connecting multiple FSRs 1300/1800together. In such an array, the layers of FSR material may beconstructed in a long strip of material.

FIG. 19 is a flow diagram of an example process 1900 for manufacturing aFSR, such as the FSR 1300 or the FSR 1800 disclosed herein. Theprocesses described herein are illustrated as a collection of blocks ina logical flow graph, which represent a sequence of operations. Theorder in which the operations are described is not intended to beconstrued as a limitation, and any number of the described blocks can becombined in any order and/or in parallel to implement the processes.

At 1902, a first substrate 1302 made of polyimide may be formed withcopper clad layer disposed on a front surface of the first substrate1302.

At 1904, the copper clad layer may be etched to form a plurality ofinterdigitated copper fingers (i.e., an example of the metal fingers1400) on the front surface of the first substrate 1302. The etching atblock 1904 may include removing strips of copper material having a widthof 0.2 mm to create a distance of 0.2 mm between pairs of adjacentcopper fingers among the plurality of interdigitated copper fingers. Thespacing between sequential strips of removed copper material may also bekept at 0.2 mm to provide copper fingers having a width of 0.2 mm.

At 1906, a layer of gold plating may be deposited onto the plurality ofinterdigitated copper fingers to create gold-plated fingers. This goldplating may be ENIG.

At 1908, one or more spacer layers may be provided atop the firstsubstrate 1302 at a periphery of the first substrate 1302, therebyleaving a portion of the gold-plated fingers uncovered by the one ormore spacer layers. As shown by the sub-blocks 1910 and 1912, multiplespacer layers may be provided in two operations.

At 1910, a coverlay 1306 (e.g., made of polyimide) may be deposited onthe first substrate 1302 at a periphery of the first substrate. Thecoverlay 1306 may cover a peripheral portion of the gold-plated fingers,wherein a remaining portion of the gold-plated fingers is left uncoveredby the coverlay 1306.

At 1912, a layer of adhesive 1308 may be deposited on the coverlay 1306such that the remaining portion of the gold-plated fingers is leftuncovered by the layer of adhesive 1308. Furthermore, the operation atblock 1912 may include leaving a section of the coverlay 1306 uncoveredby the layer of adhesive 1308 to create an air gap that allows air toingress or egress from a space between the first substrate 1302 and thesecond substrate 1304.

At 1914, a second substrate 1304 may be provided atop the firstsubstrate 1302 such that a center portion of the second substrate 1304is suspended over the first substrate 1302 by the one or more spacerlayers interposed between the first substrate 1302 and the secondsubstrate 1304. This second substrate 1304 is flexible and has resistivematerial disposed on a back surface of the second substrate 1304.

At 1916, in order to construct the FSR 1800, an extended portion of thefirst substrate 1802 may be wrapped around the second substrate 1804 andattached to the front surface of the second substrate 1804, where theextended portion of the first substrate 1802 is to be interposed betweena to-be-attached actuator 1810 and the second substrate 1804. As shownby the dotted outline of block 1916, this operation is performed toconstruct the FSR 1800, but may be omitted when constructing the FSR1300.

At 1918, an actuator 1310 may be provided atop the second substrate1304, such as by attaching the actuator 1310 to a front surface of thesecond substrate 1304 to construct the FSR 1300, or by attaching theactuator 1810 (e.g., a tact switch), to the first substrate 1802 that isinterposed between the first substrate second substrate 1804 and theactuator 1810.

The FSR 1300/1800 disclosed herein may be mounted on a planar surface ofa structure within a handheld controller, such as the controller 100/600disclosed herein, and this structure can be positioned at any suitablelocation within the controller body 110 in order to measure a resistancevalue that corresponds to an amount of force applied to an outer surfaceof the controller body 110 (e.g., a force applied by a finger pressingupon a control, a force applied by a hand squeezing the handle 112/612.With specific reference to FIGS. 9A and 9B, the FSR 1300/1800 can bemounted on a planar surface of the PCB 920, which itself may be mountedwithin the tubular housing 612 a, 612 b of the handle 612. In thisconfiguration, the plunger 924 may interface with the actuator 1310/1810of the FSR 1300/1800, which may allow for conveying a compressive forcefrom the plunger 924 to the actuator 1310/1810. Other configurations arepossible, however, where the plunger 924 is omitted, and the actuator1310/1810 interfaces with a portion of the tubular housing 612 a, 612 bof the handle 612. With specific reference to FIG. 1, a FSR 1300/1800can be mounted on a planar surface of a structure within a head (betweenthe handle 112 and a distal end 111). The structure mounted within ahead may be mounted underneath one or more of the thumb-operatedcontrols 114, 115, 116. For example, the FSR 1300/1800 can be positionedunderneath the thumb-operated control 116 (e.g., a track pad).Accordingly, when a user's thumb presses upon the thumb-operated control116 during operation while the controller 100, the FSR 1300/1800positioned underneath the thumb-operated control 116 may be configuredto measure a resistance value that corresponds to an amount of forceapplied to the thumb-operated control 116 by the user's thumb. It is tobe appreciated that multiple FSRs 1300/1800 can be disposed within thecontroller body 110 of the controller, such as one or more FSRs1300/1800 mounted within the handle 112/612 and one or more FSRs1300/1800 mounted underneath one or more corresponding controls 114,115, 116 on the head of the controller body 110.

The FSR 1300/1800 disclosed herein may enable variable analog inputswhen implemented in a controller 100/600. For instance, squeezing thehandle 112/612 or pressing upon the thumb-operated control(s) (e.g.,116) with varying amount of force may cause resistance of the FSR1300/1800 to vary with the applied force, and the resistance can beconverted to a varying digitized value that represents the FSR input forcontrolling a game mechanic.

FIG. 20 illustrates an example user interface (UI) 2000 that may be usedto configure a FSR-based input mechanism of a handheld controller, suchas the controller 100/600, for an electronic system to operate indifferent modes. The UI 2000 may be output on a display of an electronicsystem, such as a head mounted display (HMD), or any other type ofdisplay used with a personal computer (PC) or a game console. The UI2000 includes an “Activation Type” drop down menu 2002. The “ActivationType” drop down menu 2002 may be used to select a “Soft Press” type ofactivation for a FSR-based input mechanism (e.g., the thumb-operatedcontrol 116, the handle 112/612, etc.). Here, “Soft Press” means“software press,” which allows the controller 100/600 and/or theelectronic system with which the controller 100/600 is associated todetermine, using logic, when to register a FSR-based input event basedon the analog input of the FSR 1300/1800 (e.g., the FSR resistance,which corresponds to the applied force on the FSR 1300/1800, and whichis converted to a digitized FSR input value), and also based on theadditional configuration settings that will be discussed shortly. Inother words, a resistance value can be measured by the FSR 1300/1800,which can be converted into a digitized FSR input value. If thisdigitized FSR input value meets a criterion specified by theconfiguration settings for the “Soft Press,” a FSR-based input event canbe registered.

The UI 2000 may further include a “Binding” drop down menu 2004, whichmay be used to select a PC-based input control to bind to thecorresponding FSR-based input mechanism on the controller 100/600. Here,the binding is selected as the Left Mouse button, but it is to beappreciated that the binding can be selected as other PC-based inputcontrols. The binding can also be analog. For example, for a racinggame, the FSR 1300/1800 can be used for the gas pedal (e.g., the harderthe user presses upon a FSR-based control mechanism, the faster theracing vehicle goes in the game).

The UI 2000 may further include a “Soft Press Style” drop down menu2006, which may be used to select one of various styles of a Soft Press.A “Simple Threshold” style means that a FSR input event occurs when thedigitized FSR input value meets or exceeds a threshold value. Becausethe digitized FSR input value corresponds to a particular resistancevalue measured by the FSR, which, in turn, corresponds to a particularamount of force applied to the FSR 1300/1800, one can also think of thisstyle of Soft Press as registering a FSR input event when the resistancevalue measured by the FSR meets a threshold resistance value, and/orwhen the applied amount of force meets a threshold amount of force. Forexample, if the handle 112/612 of the controller 100/600 includes a FSR1300/1800, the handle 112/612 can be squeezed until a threshold amountof force is reached, and, in response, a FSR input event is registeredas a “Soft Press.” The force required to “unpress” may be a fraction ofthe threshold value for debounce purposes and/or to mimic a tact switchwith a physical snap ratio. The “Simple Threshold” style may thereforreplace a conventional mechanical switch. The UI 200 shows that aconfigurable Soft Press Threshold 2008(1) can be adjusted by the user toincrease or decrease a threshold value that is compared to digitized FSRinput values to determine whether to register a FSR input event. Theuser can adjust the Soft Press Threshold 2008(1) lower (e.g., by movingthe slider to the left) in order to reduce hand fatigue relating toactuation of the FSR-based input mechanism. The user can adjust the SoftPress Threshold 2008(1) higher (e.g., by moving the slider to the right)in order to reduce the instances in which an accidental input isregistered by the FSR-based input mechanism. In some cases, the SoftPress Threshold 2008(1) can be set to a default threshold value for aparticular game (e.g., a lower default threshold value for a shootinggame, a higher default threshold value for an exploration game, etc.).

A “Hair Trigger” style may set a baseline threshold value, and once adigitized FSR input value associated with the FSR 1300/1800 meets orexceeds the baseline threshold value, the binding is activated (i.e., aFSR input event is registered, akin to a press-and-hold buttonactuation). Thereafter, any subsequent decrease in force deactivates thebinding (i.e., the FSR input event is “unregistered,” akin to a userletting go of a button), and any increase in force after deactivatingthe binding operates to activate the binding again. There may be somedebounce in the “Hair Trigger” style of Soft Press. Turning briefly toFIG. 21, an example of the “Hair Trigger” logic is shown on a Force vs.Time graph 2100. The Force axis may represent digitized FSR input valuesranging from zero to any suitable maximum value, which corresponds to arange of resistance values that are measurable by the FSR 1300/1800. Asshown in FIG. 21, as the digitized FSR input value increases (e.g., theuser presses harder and harder on the FSR-based input mechanism), thedigitized FSR input value eventually crosses the baseline thresholdvalue 2102, and, in response, the binding is activated (i.e., a FSRinput event is registered akin to a press-and-hold type of user input),and thereafter, the binding is deactivated in response to a decrease inthe digitized FSR input value (e.g., the user “lets up” slightly on theFSR-based input mechanism). If the user presses harder upon theFSR-based input mechanism, the binding may be activated again, and so onand so forth, as long as the force remains at a value that is greaterthan the baseline threshold value 2102.

With reference again to FIG. 20, a “Hip Fire” style of Soft Press may beselected in three different sub-styles (e.g., Aggressive, Normal, andRelaxed). The “Hip Fire” style may be similar to the “Simple Threshold”style of Soft Press, except that the “Hip Fire” style utilizes a timedelay so that, in a configuration with multiple levels of bindings, thetime delay can be used to ignore lower FSR input values if a higherthreshold value is reached quickly enough. The amount of time delayvaries between the different sub-styles (e.g., Aggressive, Normal, andRelaxed). Turning briefly to FIG. 22, an example of the “Hip Fire” logicis shown on a Force vs. time graph 2200. Again, the Force axis mayrepresent a range of digitized FSR input values from zero to anysuitable maximum value, which corresponds to a range of resistancevalues that are measurable by the FSR 1300/1800. As shown in FIG. 22,assume that A1 2202 corresponds to a first threshold value thatcorresponds to a first action, and A2 2204 corresponds to a secondthreshold value that corresponds to a second action. A time delay, t,can be set based on whether the Hip Fire style is the Aggressive type,the Normal type, or the Relaxed type. In the “Fast” curve shown in FIG.22, the FSR input values reach A1 2202 quickly, which triggers the timedelay to start running. The FSR input values then reach A2 2204 beforethe time delay has lapsed, which causes the logic to ignore A1 2202 andto register a FSR input event exclusively for the second action thatcorresponds to A2 2204. In the “Slow” curve shown in FIG. 22, the FSRinput values reach A1 2202, and the time delay is started. However,because the FSR input values do not increase fast enough to reach A22204 before the time delay lapses, the logic registers a FSR input eventfor the first action that corresponds to A1 2202, and, thereafter, theFSR input values eventually reach A2 2204, and the logic registers anadditional FSR input event for the second action that corresponds to A22204. The time delay, t, may be specified in milliseconds, and isconfigurable.

With reference again to FIG. 20, an additional Soft Press Threshold2008(2) may be usable, for example, to set a multi-level threshold, suchas the thresholds for the “Hip Fire” style of Soft Press. The differentstyles of Soft Press for FSR-based input can be used to enable a numberof different game-related, analog inputs by virtue of the user squeezingor pressing a FSR-based input mechanism with varying force. For example,a VR game can allow a user to crush a rock or squeeze a balloon bysqueezing the handle 112/612 of the controller body 110 with increasingforce. As another example, a shooting-based game may allow the user totoggle between different types of weapons by pressing a thumb-operatedcontrol 116 with different levels of applied force.

FIG. 23 depicts the controller 100 of FIG. 1 having various sensorsdisposed within the controller body 110. For example, a first FSR1300(1) may be mounted underneath a control that is configured to bepressed, such as the thumb-operated control 116 that is included on ahead 113 of the controller body 110. A second FSR 1300(2) may be mountedwithin the handle 112 of the controller body 110, along with an array ofproximity sensors 800. It is to be appreciated that one or the other FSR1300(1) or 1300(2) may be provided within the controller 100, or bothFSRs 1300(1) and 1300(2) may be provided within the controller 100. Inaddition, or alternatively to array of proximity sensors 800, one ormore touch sensors 2300 (e.g., touch sensors 2300(1)-(3)) may beassociated with one or more controls that are configured to be pressed,such as the thumb-operated control 114, the thumb-operated control 115,and/or the thumb-operated control 116, and/or a finger-operated control(e.g., a trigger 609). The touch sensor(s) 2300 may be configured toprovide touch data indicative of an object (e.g., a finger, a thumb,etc.) contacting an associated control (e.g., one or more of thethumb-operated controls 114-116). In an example, the touch sensor(s)2300 comprises a capacitive sensor (or array of capacitive sensors) thatis mounted within the head 113 of the controller body 110 (e.g., adheredor otherwise attached to a back surface of the outer housing andunderneath the controls 114-116, attached to a structure, such as a PCB,within the head 113, etc.). In other instances, the touch sensor(s) 2300can be based on other touch-sensing technologies, such as an infrared oracoustic touch sensor. Meanwhile, the array of proximity sensors 800that are spatially distributed on the handle 112 may be configured toprovide proximity data indicative of a hand grasping the handle 112. Theproximity sensors 800 can also use any suitable technology for sensingcontact and/or proximity of the hand on/to the handle 112, as disclosedherein. The FSRs 1300 are configured to provide force data indicative ofan amount of force of a press of a control (e.g., a press of the control116), or a squeeze of the handle 112. Sets of the various sensors shownin FIG. 23 may be connected by a flex circuit. For example, the touchsensors 2300 and the FSR 1300(1) in the head 113 may be connectedtogether by a common flex circuit. The polyimide substrate of the FSR1300 disclosed herein allows for this type of direct soldering of theFSR output terminals to a flex circuit.

The processes described herein are illustrated as a collection of blocksin a logical flow graph, which represent a sequence of operations thatcan be implemented in hardware, software, or a combination thereof. Inthe context of software, the blocks represent computer-executableinstructions that, when executed by one or more processors, perform therecited operations. Generally, computer-executable instructions includeroutines, programs, objects, components, data structures, and the likethat perform particular functions or implement particular abstract datatypes. The order in which the operations are described is not intendedto be construed as a limitation, and any number of the described blockscan be combined in any order and/or in parallel to implement theprocesses.

FIG. 24 is a flow diagram of an example process 2400 for re-calibratinga FSR 1300/1800 of a handheld controller 100/600 based on touch dataprovided by a touch sensor.

At 2402, logic of the handheld controller 100/600 may determine, basedat least in part on touch data provided by a touch sensor, that anobject (e.g., a finger, a thumb, etc.) has come into contact with atleast one control of the handheld controller. The at least one controlmay be included on the controller body 110 of the controller 100/600 andmay be configured to be pressed. For instance, the control may be thethumb-operated control 116 included on the head 113 of the controllerbody 110. In this embodiment, the touch sensor can be one of the touchsensors 2300. Alternatively, the control may be the handle 112 of thecontroller body 110. In this embodiment, the touch sensor can be thearray of proximity sensors 800.

At 2404, the logic may determine, based at least in part on force dataprovided by a FSR 1300/1800 at a time at which the object has come intocontact with the at least one control, a resistance value measured bythe FSR 1300/1800.

At 2406, the logic may correlate the resistance value with a digitizedFSR input value of zero. In other words, the sensed resistance when theobject comes into contact with the at least one control can be taken asa force input of zero, meaning that any increase in force applied to theFSR 1300/1800 after that point is correlated with a positive FSR inputvalue. Thus, the process 2400 represents a sensor fusion algorithm thatcan help mitigate any inherent inaccuracy of the FSR 1300/1800—whichmight measure some resistance even when an object is not pressing uponthe control—through recalibration on the detection of a touch of thecontrol.

FIG. 25 is a flow diagram of an example process 2500 for ignoringspurious input at a FSR 1300/1800 of a handheld controller 100/600 basedon touch data provided by a touch sensor for an adjacent control.

At 2502, logic of a handheld controller 100/600 may determine, based atleast in part on force data provided by a FSR 1300/1800 associated witha first control (e.g., thumb-operated control 116) of the handheldcontroller, a resistance value measured by the FSR 1300/1800.

At 2504, the logic may convert the resistance value to a digitized FSRinput value.

At 2506, the logic may determine whether the digitized FSR input valuemeets or exceeds a threshold value that is to be met in order toregister a FSR input event for the first control. If the threshold isnot met at 2506, the process 2500 follows the “NO” route from block 2506to block 2502 to await additional force data. If the threshold is met at2506, the process 2500 follows the “YES” route from block 2506 to block2508.

At 2508, the logic may determine whether an object (e.g., a finger, athumb, etc.) is in contact with an adjacent, second control based atleast in part on touch data provided by a touch sensor 2300 associatedwith a second control adjacent to the first control (e.g.,thumb-operated control 114 or 115)—the touch data provided at a time atwhich the FSR resistance value is measured by the FSR 1300/1800. If theobject is not in contact with the adjacent, second control, the process2500 follows the “NO” route from block 2508 to block 2510, where thelogic registers a FSR input event for the first control (e.g., byactivating a binding for the first control). IF the object is in contactwith the adjacent, second control, the process 2500 follows the “YES”route from block 2508 to block 2512.

At 2512, the logic may refrain from registering the FSR input event forthe first control based at least in part on determining that the objectis in contact with the second control. Thus, the process 2500 representsa sensor fusion algorithm that can be used to ignore spurious inputs atthe FSR 1300/1800 based on a press of an adjacent control on thehandheld controller.

FIG. 26 is a flow diagram of an example process 2600 for adjusting a FSRinput threshold for a FSR 1300/1800 based on a hand size detected by anarray of proximity sensors 800 in the handle 112/612 of the handheldcontroller 100/600.

At 2602, logic of a handheld controller 100/600 may determine, based atleast in part on proximity data provided by an array of proximitysensors 800 that are spatially distributed on a handle of the controller100/600, a size of a hand that is grasping the handle 112/612. The sizeof the hand may be determined from among a plurality of predefined handsizes (e.g., small and large, or small, medium, and large, etc.).

At 2604, the logic may adjust, based at least in part on the size of thehand determined at block 2602, a threshold value to an adjustedthreshold value that is to be met in order to register a FSR input eventfor the handle 112/612. This adjusted threshold value corresponds to aparticular amount of force with which the handle 112/612 can besqueezed. For example, an amount of force corresponds to a measuredresistance of the FSR 1300/1800 in the handle 112/612, and thatresistance may correspond to a digitized FSR input value. When the usersqueezes the handle, if the digitized FSR input value meets or exceedsthe adjusted threshold value, a FSR input event can be registered. Thus,the threshold value may be adjusted to a lower value for a user with asmaller hand, while the threshold value may be adjusted to a greatervalue for a user with a larger hand, as detected by the array ofproximity sensors 800 at block 2602. In some cases, a default thresholdvalue may be configured for the controller 100/600 prior to detection ofthe hand size at block 2602, and the adjustment at block 2604 may be toincrease or decrease the threshold value with respect to the defaultvalue.

As shown by the sub-blocks in FIG. 26, the process 2600 may involve moredetailed operations. For example, the determining of the hand size atblock 2602 may include sub-blocks 2606 and 2608.

At 2606, the logic may determine a number of proximity sensors of thearray of proximity sensors 800 that provided the proximity data. Forexample, a small hand may only span a small subset of the proximitysensors in the array of proximity sensors 800, and the remainingproximity sensors that do not detect the small-sized hand may notprovide the aforementioned proximity data. By contrast, a large hand mayspan the entirety of the array of proximity sensors 800, and, in thiscase, all (or at least a number above a threshold number) of theproximity sensors 800 may provide the proximity data.

At 2608, the logic may determine the size of the hand based at least inpart on the number of proximity sensors (of the array 800) that providedthe proximity data.

Additionally, as shown by sub-blocks 2610 and 2612, the adjustment ofthe threshold value at block 2604 may include adjusting the thresholdvalue for one or more FSRs of the controller 100/600.

For example, at 2610, the logic may adjust a first threshold value(associated with a first FSR 1300(1)) that is to be met in order toregister a FSR input event for the control 116. At 2612, the logic may,additionally or alternatively, adjust a second threshold value(associated with a second FSR 1300(2)) that is to be met in order toregister a FSR input event for the handle 112/612.

FIG. 27 is a flow diagram of an example process 2700 for activating anddeactivating a binding for a control of a handheld controller based onFSR input values. As shown by the off-page reference “A” in FIG. 27, theprocess 2700 may continue from any of the processes 2400, 2500, or 2600,but it does not have to.

At 2702, logic of a handheld controller 100/600 may determine, based atleast in part on force data provided by a FSR 1300/1800 of thecontroller 100/600, at a first time, a first digitized FSR input value.This first digitized FSR input value may be converted from a firstresistance value measured by the FSR 1300/1800 at the first time.

At 2704, the logic may determine whether the first digitized FSR inputvalue meets or exceeds a threshold value that is to be met in order toregister a FSR input event (e.g., for binding the control associatedwith the FSR 1300/1800). If the threshold is not met at 2704, theprocess 2700 follows the “NO” route from block 2704 to block 2702 wherethe logic awaits additional force data. If the threshold is met at 2704,the process 2700 follows the “YES” route from block 2704 to block 2706.

At 2706, the logic may register the FSR input event (e.g., to activatethe binding associated with the control associated with the FSR1300/1800) based at least in part on the first digitized FSR input valuemeeting or exceeding the threshold value.

At 2708, the logic may determine, based at least in part on force dataprovided by the FSR 1300/1800, at a second time after the first time, asecond digitized FSR input value. This second digitized FSR input valuemay be converted from a second resistance value measured by the FSR1300/1800 at the second time.

At 2710, the logic may determine whether the second digitized FSR inputvalue is less than the first digitized FSR input value (i.e., whetherthe FSR input has decreased since a previous measurement by the FSR1300/1800). If the second digitized FSR input value is less than thefirst digitized FSR input value, the process 2700 follows the “YES”route from block 2710 to block 2712, where the logic may deactivate thebinding for the control associated with the FSR 1300/1800 (which can bethought of as unregistering a previously registered FSR input event thatamounts to a press-and-hold input). If the second digitized FSR inputvalue is not less than the first digitized FSR input value at block2710, the process 2700 follows the “NO” route from block 2710 to block2708 where the logic awaits additional force data from the FSR1300/1800. The process 2700 may reflect the FSR detection modeillustrated in FIG. 21 and described above. Thus, the thresholdevaluated at block 2704 may correspond to the baseline threshold value2102 described with reference to FIG. 21.

FIG. 28 is a flow diagram of an example process 2800 for using atime-delay to determine whether to ignore FSR input for a first ofmultiple thresholds. As shown by the off-page reference “A” in FIG. 28,the process 2800 may continue from any of the processes 2400, 2500, or2600, but it does not have to.

At 2802, logic of a handheld controller 100/600 may determine, based atleast in part on force data provided by a FSR 1300/1800 of thecontroller 100/600, at a first time, a first digitized FSR input value.This first digitized FSR input value may be converted from a firstresistance value measured by the FSR 1300/1800 at the first time.

At 2804, the logic may determine whether the first digitized FSR inputvalue meets or exceeds a first threshold value (e.g., A1 2202 of FIG.22) that is to be met in order to register a first FSR input event(e.g., for binding the control associated with the FSR 1300/1800). Thefirst FSR input event may be associated with a first action (e.g., afirst game mechanic). If the first threshold is not met at 2804, theprocess 2800 follows the “NO” route from block 2804 to block 2802 wherethe logic awaits additional force data. If the threshold is met at 2804,the process 2800 follows the “YES” route from block 2804 to block 2806.

At 2806, the logic may start monitoring a predefined time period (e.g.,the time delay, t, in FIG. 22).

At 2808, the logic may determine, based at least in part on force dataprovided by the FSR 1300/1800, at a second time after the first time, asecond digitized FSR input value. This second digitized FSR input valuemay be converted from a second resistance value measured by the FSR1300/1800 at the second time.

At 2810, the logic may determine whether the second digitized FSR inputvalue meets or exceeds a second threshold value (e.g., A2 2204 of FIG.22) that is to be met in order to register a second FSR input event(e.g., for binding the control associated with the FSR 1300/1800). Thesecond FSR input event may be associated with a second action (e.g., asecond game mechanic) different from the first action, and the secondthreshold is greater than the first threshold. If the second thresholdis not met at 2810, the process 2800 follows the “NO” route from block2810 to block 2812 where the logic awaits determines whether thepredefined time period has lapsed (e.g., whether the difference betweenthe second time and the first time is less than the predefined timeperiod). If the time period has not yet lapsed at block 2812, theprocess 2800 iterates by following the “NO” route from block 2812 backto block 2810. If the time period has lapsed at block 2812 and thesecond threshold has not been met, the process 2800 follows the “YES”route from block 2812 to block 2814 where the logic may register thefirst FSR input event for the first threshold (e.g., which may beassociated with a first action or game mechanic).

If the second threshold is met at 2810, the process 2800 follows the“YES” route from block 2810 to block 2816, where the logic evaluates thepredefined time period.). If the time period has not yet lapsed at block2816, the process 2800 follows the “NO” route from block 2816 back toblock 2818 where the logic refrains from registering the first FSR inputevent, and registers the second FSR input event associated with thesecond threshold (e.g., which may be associated with a second action orgame mechanic). If the time period has lapsed at block 2816 and thesecond threshold has been met, the process 2800 follows the “YES” routefrom block 2816 to block 2820 where the logic may register both thefirst FSR input event for the first threshold and the second FSR inputevent for the second threshold. The process 2800 may reflect the FSRdetection mode illustrated in FIG. 22 and described above.

FIG. 29 illustrates example components of a handheld controller, such asthe controller 100 of FIG. 1, although the components shown in FIG. 29can be implemented by the controller 600 as well. As illustrated, thehandheld controller includes one or more input/output (I/O) devices2902, such as the controls described above (e.g., joysticks, trackpads,triggers, etc.), potentially any other type of input or output devices.For example, the I/O devices 2902 may include one or more microphones toreceive audio input, such as user voice input. In some implementations,one or more cameras or other types of sensors (e.g., inertialmeasurement unit (IMU)) may function as input devices to receivegestural input, such as motion of the handheld controller 100. In someembodiments, additional input devices may be provided in the form of akeyboard, keypad, mouse, touch screen, joystick, control buttons and thelike. The input device(s) may further include control mechanisms, suchas basic volume control button(s) for increasing/decreasing volume, aswell as power and reset buttons.

The output devices, meanwhile, may include a display, a light element(e.g., LED), a vibrator to create haptic sensations, a speaker(s) (e.g.,headphones), and/or the like. There may also be a simple light element(e.g., LED) to indicate a state such as, for example, when power is on.While a few examples have been provided, the handheld controller mayadditionally or alternatively comprise any other type of output device.

In addition, the handheld controller 100 may include one or morecommunication interfaces 2904 to facilitate a wireless connection to anetwork and/or to one or more remote systems (e.g., a host computingdevice executing an application, a game console, etc.). Thecommunication interfaces 2904 may implement one or more of variouswireless technologies, such as Wi-Fi, Bluetooth, radio frequency (RF),and so on. It is to be appreciated that the handheld controller 100 mayfurther include physical ports to facilitate a wired connection to anetwork, a connected peripheral device, or a plug-in network device thatcommunicates with other wireless networks.

In the illustrated implementation, the handheld controller furtherincludes one or more processors 2906 and computer-readable media 2908.In some implementations, the processors(s) 2906 may include a centralprocessing unit (CPU), a graphics processing unit (GPU), both CPU andGPU, a microprocessor, a digital signal processor or other processingunits or components known in the art. Alternatively, or in addition, thefunctionally described herein can be performed, at least in part, by oneor more hardware logic components. For example, and without limitation,illustrative types of hardware logic components that can be used includefield-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), application-specific standard products (ASSPs),system-on-a-chip systems (SOCs), complex programmable logic devices(CPLDs), etc. Additionally, each of the processor(s) 2906 may possessits own local memory, which also may store program modules, programdata, and/or one or more operating systems.

In general, the controller may include logic (e.g., software, hardware,and/or firmware, etc.) that is configured to implement the techniques,functionality, and/or operations described herein. The computer-readablemedia 2908 may include volatile and nonvolatile memory, removable andnon-removable media implemented in any method or technology for storageof information, such as computer-readable instructions, data structures,program modules, or other data. Such memory includes, but is not limitedto, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM,digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, RAID storage systems, or any other medium which can beused to store the desired information and which can be accessed by acomputing device. The computer-readable media 2908 may be implemented ascomputer-readable storage media (“CRSM”), which may be any availablephysical media accessible by the processor(s) 2906 to executeinstructions stored on the computer-readable media 2908. In one basicimplementation, CRSM may include random access memory (“RAM”) and Flashmemory. In other implementations, CRSM may include, but is not limitedto, read-only memory (“ROM”), electrically erasable programmableread-only memory (“EEPROM”), or any other tangible medium which can beused to store the desired information and which can be accessed by theprocessor(s) 2906.

Several modules such as instruction, datastores, and so forth may bestored within the computer-readable media 2908 and configured to executeon the processor(s) 2906. A few example functional modules are shown asstored in the computer-readable media 2908 and executed on theprocessor(s) 2906, although the same functionality may alternatively beimplemented in hardware, firmware, or as a system on a chip (SOC).

An operating system module 2910 may be configured to manage hardwarewithin and coupled to the handheld controller 100 for the benefit ofother modules. In addition, the computer-readable media 2908 may store anetwork-communications module 2912 that enables the handheld controller100 to communicate, via the communication interfaces 2904, with one ormore other devices, such as a personal computing device executing anapplication (e.g., a game application), a game console, a HMD, a remoteserver, or the like. The computer-readable media 2908 may furtherinclude a game-session database 2914 to store data associated with agame (or other application) executing on the handheld controller or on acomputing device to which the handheld controller 100 couples. Thecomputer-readable media 2908 may also include a device-record database2916 that stores data associated with devices to which the handheldcontroller 100 couples, such as the personal computing device, gameconsole, HMD, remote server or the like. The computer-readable media2908 may further store game-control instructions 2918 that configure thehandheld controller 100 to function as a gaming controller, anduniversal-control instructions 2920 that configure the handheldcontroller 100 to function as a controller of other, non-gaming devices.

Unless otherwise indicated, all numbers expressing quantities used inthe specification and claims are to be understood as being modified inall instances by the term “about.” Accordingly, unless indicated to thecontrary, the numerical parameters set forth in the specification andattached claims are approximations that may vary depending upon thedesired properties sought to be obtained by the present disclosure. Atthe very least, and not as an attempt to limit the application of thedoctrine of equivalents to the scope of the claims, each numericalparameter should at least be construed in light of the number ofreported significant digits and by applying ordinary roundingtechniques. When further clarity is required, the term “about” has themeaning reasonably ascribed to it by a person skilled in the art whenused in conjunction with a stated numerical value or range, i.e.denoting somewhat more or somewhat less than the stated value or range,to within a range of ±20% of the stated value; ±19% of the stated value;±18% of the stated value; ±17% of the stated value; ±16% of the statedvalue; ±15% of the stated value; ±14% of the stated value; ±13% of thestated value; ±12% of the stated value; ±11% of the stated value; ±10%of the stated value; ±9% of the stated value; ±8% of the stated value;±7% of the stated value; ±6% of the stated value; ±5% of the statedvalue; ±4% of the stated value; ±3% of the stated value; ±2% of thestated value; or ±1% of the stated value.

Although the subject matter has been described in language specific tostructural features, it is to be understood that the subject matterdefined in the appended claims is not necessarily limited to thespecific features described. Rather, the specific features are disclosedas illustrative forms of implementing the claims.

The disclosure is described with reference to specific exemplaryembodiments herein, but those skilled in the art will recognize that thedisclosure is not limited to those. It is contemplated that variousfeatures and aspects of the disclosure may be used individually orjointly and possibly in a different environment or application. Forexample, features shown with regards to a right-hand controller may beimplemented also in a left-hand controller, and vice versa. Thespecification and drawings are, accordingly, to be regarded asillustrative and exemplary rather than restrictive. For example, theword “preferably,” and the phrase “preferably but not necessarily,” areused synonymously herein to consistently include the meaning of “notnecessarily” or optionally. “Comprising,” “including,” and “having,” areintended to be open-ended terms.

What is claimed is:
 1. A system comprising: one or more processors; ahandheld controller comprising a controller body, the controller bodyincluding: a handle configured to be grasped by a hand; a head coupledto the handle at a neck region; at least one control on the head of thecontroller body that is configured to be pressed by a thumb of the hand;a touch sensor mounted within the head of the controller body,positioned underneath the at least one control, and configured toprovide, to the one or more processors, touch data indicative of thethumb contacting the at least one control; and a force sensing resistor(FSR) mounted within the head of the controller body, positionedunderneath the at least one control, and configured to provide, to theone or more processors, force data indicative of an amount of force of apress of the at least one control; and logic configured to: determine,based at least in part on the touch data provided by the touch sensor,that the thumb has come into contact with the at least one control;determine, based at least in part on the force data provided by the FSRat a time at which the thumb has come into contact with the at least onecontrol, a resistance value measured by the FSR; and correlate theresistance value with a digitized FSR input value of zero.
 2. The systemof claim 1, wherein the logic is further configured to: determine, basedat least in part on the force data provided by the FSR at a first timeafter the time at which the thumb has come into contact with the atleast one control, a second resistance value measured by the FSR;convert the second resistance value to a second digitized FSR inputvalue; determine that the second digitized FSR input value meets orexceeds a threshold value that is to be met in order to register a FSRinput event; and register the FSR input event based at least in part onthe second digitized FSR input value meeting or exceeding the thresholdvalue.
 3. The system of claim 2, wherein registering the FSR input eventactivates a binding associated with the at least one control, andwherein the logic is further configured to: determine, based at least inpart on the force data provided by the FSR at a second time after thefirst time, a third resistance value measured by the FSR; convert thethird resistance value to a third digitized FSR input value; determinethat the third digitized FSR input value is less than the seconddigitized FSR input value; and deactivate the binding based at least inpart on the third digitized FSR input value being less than the seconddigitized FSR input value.
 4. The system of claim 1, wherein the logicis further configured to: determine, based at least in part on the forcedata provided by the FSR at a first time after the time at which thethumb has come into contact with the at least one control, a secondresistance value measured by the FSR; convert the second resistancevalue to a second digitized FSR input value; determine that the seconddigitized FSR input value meets or exceeds a first threshold valueassociated with a first FSR input event; determine, based at least inpart on the force data provided by the FSR at a second time after thefirst time, a third resistance value measured by the FSR; convert thethird resistance value to a third digitized FSR input value; determinethat the third digitized FSR input value meets or exceeds a secondthreshold value associated with a second FSR input event, the secondthreshold value being greater than the first threshold value; determinethat a difference between the second time and the first time is lessthan a predefined time period; refrain from registering the first FSRinput event; and register the second FSR input event.
 5. The system ofclaim 1, wherein: the at least one control is a first control; thecontroller body further includes: a second control on the head of thecontroller body adjacent to the first control, the second controlconfigured to be pressed by the thumb; and a second FSR mounted withinthe head of the controller body, positioned underneath the secondcontrol, and configured to provide, to the one or more processors,second force data indicative of an amount of force of a press of thesecond control; and the logic is further configured to, after the timeat which the thumb has come into contact with the first control:determine, based at least in part on the second force data provided bythe second FSR, a second resistance value measured by the second FSR;convert the second resistance value to a second digitized FSR inputvalue; determine that the second digitized FSR input value meets orexceeds a threshold value that is to be met in order to register a FSRinput event for the second control; determine, based at least in part onthe touch data provided by the touch sensor at a time at which thesecond resistance value is measured by the second FSR, that the thumb isin contact with the first control; and refrain from registering the FSRinput event for the second control based at least in part on determiningthat the thumb is in contact with the first control.
 6. The system ofclaim 1, wherein: the at least one control is a first control; thecontroller body further includes: a second control on the head of thecontroller body adjacent to the first control, the second controlconfigured to be pressed by the thumb; and a second touch sensor mountedwithin the head of the controller body, positioned underneath the secondcontrol, and configured to provide, to the one or more processors,second touch data indicative of the thumb contacting the second control;and the logic is further configured to, after the time at which thethumb has come into contact with the first control: determine, based atleast in part on the force data provided by the FSR, a second resistancevalue measured by the FSR; convert the second resistance value to asecond digitized FSR input value; determine that the second digitizedFSR input value meets or exceeds a threshold value that is to be met inorder to register a FSR input event for the first control; determine,based at least in part on the second touch data provided by the secondtouch sensor at a time at which the second resistance value is measuredby the FSR, that the thumb is in contact with the second control; andrefrain from registering the FSR input event for the first control basedat least in part on determining that the thumb is in contact with thesecond control.
 7. The system of claim 1, wherein the system comprises avirtual reality (VR) gaming system.
 8. A system comprising: one or moreprocessors; a handheld controller comprising a controller body, thecontroller body including: a handle configured to be grasped by a hand;a head coupled to the handle at a neck region; a first control on thehead of the controller body that is configured to be pressed by a thumbof the hand; a second control on the head of the controller bodyadjacent to the first control, the second control configured to bepressed by the thumb; a force sensing resistor (FSR) mounted within thehead of the controller body, positioned underneath the first control,and configured to provide, to the one or more processors, force dataindicative of an amount of force of a press of the first control; and atouch sensor mounted within the head of the controller body, positionedunderneath the second control, and configured to provide, to the one ormore processors, touch data indicative of the thumb contacting thesecond control; and logic configured to: determine, based at least inpart on the force data provided by the FSR, a resistance value measuredby the FSR; convert the resistance value to a digitized FSR input value;determine that the digitized FSR input value meets or exceeds athreshold value that is to be met in order to register a FSR input eventfor the first control; determine, based at least in part on the touchdata provided by the touch sensor at a time at which the resistancevalue is measured by the FSR, that the thumb is in contact with thesecond control; and refrain from registering the FSR input event for thefirst control based at least in part on determining that the thumb is incontact with the second control.
 9. The system of claim 8, wherein thefirst control and the second control are disposed within a thresholddistance from each other on the head of the controller body.
 10. Thesystem of claim 8, wherein the logic is further configured to:determine, based at least in part on the touch data provided by thetouch sensor at a first time after the time at which the resistancevalue is measured by the FSR, that the thumb is no longer in contactwith the second control; determine, based at least in part on the forcedata provided by the FSR at the first time, a second resistance valuemeasured by the FSR; convert the second resistance value to a seconddigitized FSR input value; determine that the second digitized FSR inputvalue meets or exceeds the threshold value; and register the FSR inputevent for the first control based at least in part on the seconddigitized FSR input value meeting or exceeding the threshold value. 11.The system, of claim 10, wherein registering the FSR input eventactivates a binding associated with the first control, and wherein thelogic is further configured to: determine, based at least in part on theforce data provided by the FSR at a second time after the first time, athird resistance value measured by the FSR; convert the third resistancevalue to a third digitized FSR input value; determine that the thirddigitized FSR input value is less than the second digitized FSR inputvalue; and deactivate the binding based at least in part on the thirddigitized FSR input value being less than the second digitized FSR inputvalue.
 12. The system of claim 8, wherein the FSR input event is a firstFSR input event, the threshold value is a first threshold value, and thelogic is further configured to: determine, based at least in part on thetouch data provided by the touch sensor at a first time after the timeat which the resistance value is measured by the FSR, that the thumb isno longer in contact with the second control; determine, based at leastin part on the force data provided by the FSR at the first time, asecond resistance value measured by the FSR; convert the secondresistance value to a second digitized FSR input value; determine thatthe second digitized FSR input value meets or exceeds the firstthreshold value associated with the first FSR input event; determine,based at least in part on the force data provided by the FSR at a secondtime after the first time, a third resistance value measured by the FSR;convert the third resistance value to a third digitized FSR input value;determine that the third digitized FSR input value meets or exceeds asecond threshold value associated with a second FSR input event, thesecond threshold value being greater than the first threshold value;determine that a difference between the second time and the first timeis less than a predefined time period; refrain from registering thefirst FSR input event; and register the second FSR input event.
 13. Thesystem of claim 8, wherein: the controller body further includes asecond FSR mounted within the head of the controller body, positionedunderneath the second control, and configured to provide, to the one ormore processors, second force data indicative of an amount of force of apress of the second control; and the logic is further configured to,prior to the time at which the resistance value is measured by the FSR:determine, based at least in part on the touch data provided by thetouch sensor, that the thumb has come into contact with the secondcontrol; determine, based at least in part on the second force dataprovided by the second FSR at a time at which the thumb has come intocontact with the second control, a second resistance value measured bythe second FSR; and correlate the second resistance value with adigitized FSR input value of zero.
 14. The system of claim 8, wherein:the controller body further includes a second touch sensor mountedwithin the head of the controller body, positioned underneath the firstcontrol, and configured to provide, to the one or more processors,second touch data indicative of the thumb contacting the first control;and the logic is further configured to, prior to the time at which theresistance value is measured by the FSR: determine, based at least inpart on the second touch data provided by the second touch sensor, thatthe thumb has come into contact with the first control; determine, basedat least in part on the force data provided by the FSR at a time atwhich the thumb has come into contact with the first control, a secondresistance value measured by the FSR; and correlate the secondresistance value with a digitized FSR input value of zero.
 15. Thesystem of claim 8, wherein the system comprises a virtual reality (VR)gaming system.
 16. A method comprising: determining, based at least inpart on touch data provided by a touch sensor, that a thumb of a handhas come into contact with a first control on a head of a controllerbody of a handheld controller, wherein the head of the controller bodyis coupled to a handle of the controller body at a neck region, andwherein the touch sensor is mounted within the head of the controllerbody and is positioned underneath the first control; determining, basedat least in part on force data provided by a force sensing resistor(FSR) at a first time at which the thumb has come into contact with thefirst control, a resistance value measured by the FSR, wherein the FSRis mounted within the head of the controller body and is positionedunderneath the first control; and correlating the resistance value witha digitized FSR input value of zero.
 17. The method of claim 16, furthercomprising: determining, based at least in part on second force dataprovided by a second FSR at a second time after the first time, a secondresistance value measured by the second FSR, wherein the second FSR ismounted within the head of the controller body and is positionedunderneath a second control on the head of the controller body adjacentto the first control; converting the second resistance value to a seconddigitized FSR input value; determining that the second digitized FSRinput value meets or exceeds a threshold value that is to be met inorder to register a FSR input event for the second control; determining,based at least in part on the touch data provided by the touch sensor atthe second time, that the thumb is in contact with the first control;and refraining from registering the FSR input event for the secondcontrol based at least in part on determining that the thumb is incontact with the first control.
 18. The method of claim 16, furthercomprising: determining, based at least in part on the force dataprovided by the FSR at a second time after the first time, a secondresistance value measured by the FSR; converting the second resistancevalue to a second digitized FSR input value; determining that the seconddigitized FSR input value meets or exceeds a threshold value that is tobe met in order to register a FSR input event for the first control;determining, based at least in part on second touch data provided by asecond touch sensor at the second time, that the thumb is in contactwith a second control on the head of the controller body, wherein thesecond control is adjacent to the first control, and wherein the secondtouch sensor is mounted within the head of the controller body and ispositioned underneath the second control; and refraining fromregistering the FSR input event for the first control based at least inpart on determining that the thumb is in contact with the secondcontrol.
 19. The method of claim 16, further comprising: determining,based at least in part on the force data provided by the FSR at a secondtime after the first time, a second resistance value measured by theFSR; converting the second resistance value to a second digitized FSRinput value; determining that the second digitized FSR input value meetsor exceeds a first threshold value associated with a first FSR inputevent; determining, based at least in part on the force data provided bythe FSR at a third time after the second time, a third resistance valuemeasured by the FSR; converting the third resistance value to a thirddigitized FSR input value; determining that the third digitized FSRinput value meets or exceeds a second threshold value associated with asecond FSR input event, the second threshold value being greater thanthe first threshold value; determining that a difference between thethird time and the second time is less than a predefined time period;refraining from registering the first FSR input event; and registeringthe second FSR input event.
 20. The method of claim 16, wherein thehandheld controller is usable with a virtual reality (VR) gaming system.